diff options
author | Mauro Sardara <msardara@cisco.com> | 2019-12-06 18:25:28 +0100 |
---|---|---|
committer | Mauro Sardara <msardara@cisco.com> | 2019-12-10 17:50:49 +0100 |
commit | 3f21100e1d2ec47b64670a8b08d0c9d067bf9ef3 (patch) | |
tree | 6774ce7f2bc020b646366503eaa6acf2f0af13eb /extras/libmemif | |
parent | e8eda2c819b36555d9d6b080eaf8b4b1109d7646 (diff) |
[HICN-430] Rework on CMake
Change way targets are defined: each project defines targets.
Fix project BUILD flags
Add build-extras bash script
Rework build tree of extras folder, using ExternalProject_Add
Change-Id: I82fa29896e54c8a033490eba013c3f0431bec9d0
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'extras/libmemif')
-rw-r--r-- | extras/libmemif/CMakeLists.txt | 72 | ||||
-rw-r--r-- | extras/libmemif/CMakeLists1.patch | 11 |
2 files changed, 33 insertions, 50 deletions
diff --git a/extras/libmemif/CMakeLists.txt b/extras/libmemif/CMakeLists.txt index 3b2b87729..8d141510a 100644 --- a/extras/libmemif/CMakeLists.txt +++ b/extras/libmemif/CMakeLists.txt @@ -11,58 +11,34 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(CMAKE_MODULE_PATH - ${CMAKE_MODULE_PATH} - "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Modules" - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules" -) - -include(ExternalProject) -include(Packaging) - -if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) - set(LIBMEMIF memif) -endif() - -execute_process( - COMMAND bash -c "if [ ! -d vpp ]; then - git clone https://github.com/FDio/vpp.git -b stable/1908 --depth 1 vpp; - else - pushd vpp && git pull && popd; - fi" - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -) +cmake_minimum_required(VERSION 3.5) +project(libmemif) -execute_process( - COMMAND ${CMAKE_COMMAND} -E - remove_directory ${CMAKE_CURRENT_BINARY_DIR}/libmemif - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -) - -execute_process( - COMMAND ${CMAKE_COMMAND} -E - copy_directory vpp/extras/libmemif ${CMAKE_CURRENT_BINARY_DIR}/libmemif - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +list(APPEND MODULE_PATH + ${CMAKE_MODULE_PATH} + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules ) -execute_process( - COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/libmemif/src - ${CMAKE_CURRENT_BINARY_DIR}/libmemif/memif - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -) +string(REPLACE ";" "|" MODULE_PATH "${MODULE_PATH}") -execute_process( - COMMAND - ${CMAKE_COMMAND} -E - copy ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists1.patch libmemif/CMakeLists.txt - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -) +include(ExternalProject) -execute_process( - COMMAND ${CMAKE_COMMAND} -E - copy ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists2.patch libmemif/memif/CMakeLists.txt - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +ExternalProject_Add(libmemif + GIT_REPOSITORY https://github.com/FDio/vpp.git + GIT_TAG v19.08.1 + GIT_SHALLOW TRUE + PREFIX ${CMAKE_CURRENT_BINARY_DIR}/libmemif + PATCH_COMMAND bash -c "cp ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists1.patch ./extras/libmemif/CMakeLists.txt && cp ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists2.patch ./extras/libmemif/src/CMakeLists.txt" + # Use the alternate list separator + # (https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#lists) + LIST_SEPARATOR | + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_MODULE_PATH=${MODULE_PATH} + SOURCE_SUBDIR ./extras/libmemif + BUILD_COMMAND make package + INSTALL_COMMAND make DESTDIR=${DESTDIR} install ) -include(Packaging) -add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/libmemif ${CMAKE_CURRENT_BINARY_DIR}/libmemif)
\ No newline at end of file +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + include(Packager) + make_packages() +endif() diff --git a/extras/libmemif/CMakeLists1.patch b/extras/libmemif/CMakeLists1.patch index 012dc606c..91da8a7c9 100644 --- a/extras/libmemif/CMakeLists1.patch +++ b/extras/libmemif/CMakeLists1.patch @@ -16,7 +16,9 @@ cmake_minimum_required(VERSION 3.5 FATAL_ERROR) project(memif) set(CMAKE_C_STANDARD 11) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") +list(APPEND CMAKE_MODULE_PATH + ${CMAKE_CURRENT_SOURCE_DIR}/cmake +) include(CheckCCompilerFlag) include(CheckFunctionExists) @@ -62,4 +64,9 @@ set(LIBMEMIF_LIBRARIES "" FORCE ) -add_subdirectory(memif)
\ No newline at end of file +add_subdirectory(src) + +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + include(Packager) + make_packages() +endif()
\ No newline at end of file |