diff --git a/CMakeLists.txt b/CMakeLists.txt index 25684bf..4748b88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,8 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_EXPORT_COMPILE_COMMANDS True) +set(THIRD_PARTY_DIR ${CMAKE_BINARY_DIR}/third_party) + find_package (Threads REQUIRED) include(cmake/Pistache.cmake) diff --git a/cmake/Pistache.cmake b/cmake/Pistache.cmake index a4d07b2..87630ef 100644 --- a/cmake/Pistache.cmake +++ b/cmake/Pistache.cmake @@ -1,15 +1,19 @@ +project(pistache) include(ExternalProject) -set(EXTERNAL_INSTALL_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/external) +set(PISTACHE_BINARY_DIR ${THIRD_PARTY_DIR}/pistache) -ExternalProject_Add(pistache_extern +ExternalProject_Add(${PROJECT_NAME}_extern GIT_REPOSITORY https://github.com/pistacheio/pistache.git GIT_TAG master - #CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION} + BINARY_DIR ${PISTACHE_BINARY_DIR} INSTALL_COMMAND "" ) -# include_directories(${EXTERNAL_INSTALL_LOCATION}/include) -# link_directories(${EXTERNAL_INSTALL_LOCATION}/lib) -#add_library(pistache STATIC IMPORTED GLOBAL) -#SET_PROPERTY(TARGET pistache IMPORTED_LOCATION ${EXTERNA_INSTALL_LOCATION}) +add_library(${PROJECT_NAME} STATIC IMPORTED) +add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_extern) + +set_target_properties(${PROJECT_NAME} PROPERTIES IMPORTED_LOCATION "${PISTACHE_BINARY_DIR}/lib/libpistache.a") + +#file(MAKE_DIRECTORY "${PISTACHE_BINARY_DIR}/include") +target_include_directories(${PROJECT_NAME} SYSTEM INTERFACE "${PISTACHE_BINARY_DIR}/include/") diff --git a/daggy/CMakeLists.txt b/daggy/CMakeLists.txt index f8c70ea..e2ef676 100644 --- a/daggy/CMakeLists.txt +++ b/daggy/CMakeLists.txt @@ -1,9 +1,9 @@ project(daggy) -ExternalProject_Add_StepDependencies(pistache_extern build) +#ExternalProject_Add_StepDependencies(pistache_extern build) file(GLOB SOURCES src/*.cpp) -add_library(${PROJECT_NAME} SHARED ${SOURCES}) +add_library(${PROJECT_NAME} STATIC ${SOURCES}) target_include_directories(${PROJECT_NAME} PUBLIC include) -add_dependencies(${PROJECT_NAME} pistache_extern) -target_link_libraries(${PROJECT_NAME} pistache_static pthread) +add_dependencies(${PROJECT_NAME} pistache) +target_link_libraries(${PROJECT_NAME} pistache pthread)