From a2f479e4a55d960bdedcae4a1da24acd4fb40e5e Mon Sep 17 00:00:00 2001 From: bergmann Date: Tue, 16 Oct 2018 17:09:29 +0200 Subject: [PATCH] * Fixed cmake files --- .gitignore | 2 ++ .gitmodules | 3 +++ CMakeLists.txt | 4 +++- cmake/Findcpputils.cmake | 46 ++++++++++++++++++++++++++++++++++++++++ cmake/Findrabbitmq.cmake | 33 ++++++++++++++++++++++++++++ cmake/modules | 1 + 6 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 cmake/Findcpputils.cmake create mode 100644 cmake/Findrabbitmq.cmake create mode 160000 cmake/modules diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..608b1d4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vscode/ +build/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a89889c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "cmake/modules"] + path = cmake/modules + url = b3rgmann@git.bergmann89.de:cpp/CmakeModules.git diff --git a/CMakeLists.txt b/CMakeLists.txt index aa2756a..1de3577 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,9 @@ Include ( CTest ) If ( NOT CMAKE_BUILD_TYPE ) Set ( CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build!" FORCE ) EndIf ( NOT CMAKE_BUILD_TYPE ) -Set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../../inc/cmake/") +Set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/" ) # Projects ######################################################################################## diff --git a/cmake/Findcpputils.cmake b/cmake/Findcpputils.cmake new file mode 100644 index 0000000..1fac201 --- /dev/null +++ b/cmake/Findcpputils.cmake @@ -0,0 +1,46 @@ +Include ( ExternalProject ) +Include ( FindPackageHandleStandardArgs ) + +Set ( CPPUTILS_PATH ${CMAKE_BINARY_DIR}/extern/cpputils ) + +If ( NOT TARGET cpputils_extern ) + ExternalProject_Add ( cpputils_extern + PREFIX ${CPPUTILS_PATH} + TMP_DIR ${CPPUTILS_PATH}/tmp + STAMP_DIR ${CPPUTILS_PATH}/stamp + SOURCE_DIR ${CPPUTILS_PATH}/src + BINARY_DIR ${CPPUTILS_PATH}/build + INSTALL_DIR ${CPPUTILS_PATH}/install + GIT_REPOSITORY "https://git.bergmann89.de/cpp/cpputils.git" + GIT_TAG "master" + TEST_COMMAND make test + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= + -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}) +EndIf ( ) + +Set ( CPPUTILS_LIBRARY ${CPPUTILS_PATH}/install/lib/libcpputils.so ) +Set ( CPPUTILS_INCLUDE_DIR ${CPPUTILS_PATH}/install/include ) +Set ( CPPUTILS_LIBRARIES ${CPPUTILS_LIBRARY} ) +Set ( CPPUTILS_INCLUDE_DIRS ${CPPUTILS_INCLUDE_DIR} ) + +File ( MAKE_DIRECTORY ${CPPUTILS_INCLUDE_DIR} ) + +Find_Package_Handle_Standard_Args ( cpputils DEFAULT_MSG + CPPUTILS_LIBRARY + CPPUTILS_INCLUDE_DIR ) + +If ( NOT TARGET cpputils ) + Add_Library ( cpputils SHARED IMPORTED ) + Add_Dependencies ( cpputils cpputils_extern ) + Set_Property ( TARGET cpputils + PROPERTY IMPORTED_LOCATION ${CPPUTILS_LIBRARY} ) + Set_Property ( TARGET cpputils + PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CPPUTILS_INCLUDE_DIRS} ) + Install ( FILES ${CPPUTILS_LIBRARY} DESTINATION lib ) + If ( CPPHIBERNATE_INSTALL_DEV_FILES ) + Install ( DIRECTORY ${CPPUTILS_INCLUDE_DIR}/ DESTINATION include ) + EndIf ( ) +EndIf ( ) \ No newline at end of file diff --git a/cmake/Findrabbitmq.cmake b/cmake/Findrabbitmq.cmake new file mode 100644 index 0000000..1fe2708 --- /dev/null +++ b/cmake/Findrabbitmq.cmake @@ -0,0 +1,33 @@ +Find_Library ( RABBITMQ_LIBRARY + NAMES rabbitmq + PATH_SUFFIXES rabbitmq ) + +Find_File ( RABBITMQ_INCLUDE_DIR + NAMES amqp.h ) + +Get_Filename_Component ( RABBITMQ_INCLUDE_DIR + ${RABBITMQ_INCLUDE_DIR} + DIRECTORY ) + +Include ( FindPackageHandleStandardArgs ) + +Find_Package_Handle_Standard_Args ( rabbitmq DEFAULT_MSG + RABBITMQ_LIBRARY + RABBITMQ_INCLUDE_DIR ) + +Mark_As_Advanced ( RABBITMQ_LIBRARY + RABBITMQ_LIBRARIES ) + +If ( RABBITMQ_FOUND ) + Set ( RABBITMQ_LIBRARIES ${RABBITMQ_LIBRARY} ) + Set ( RABBITMQ_INCLUDE_DIRS ${RABBITMQ_INCLUDE_DIR} ) + + If ( NOT TARGET rabbitmq ) + Add_Library ( rabbitmq UNKNOWN IMPORTED ) + Set_Property ( TARGET rabbitmq + PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${RABBITMQ_INCLUDE_DIRS}" ) + Set_Property ( TARGET rabbitmq + APPEND + PROPERTY IMPORTED_LOCATION "${RABBITMQ_LIBRARY}") + EndIf ( ) +EndIf ( ) diff --git a/cmake/modules b/cmake/modules new file mode 160000 index 0000000..b125a1a --- /dev/null +++ b/cmake/modules @@ -0,0 +1 @@ +Subproject commit b125a1a176ae0aada1cd2ec90919061d202dcea9