Unverified Commit 097df535 authored by Dominik Charousset's avatar Dominik Charousset Committed by GitHub

Merge pull request #886

Make it easier to build CAF as a CMake subproject
parents 0d110fbe 8888f924
...@@ -4,6 +4,14 @@ project(caf C CXX) ...@@ -4,6 +4,14 @@ project(caf C CXX)
include(CheckCSourceCompiles) include(CheckCSourceCompiles)
include(CheckCSourceRuns) include(CheckCSourceRuns)
get_directory_property(_parent PARENT_DIRECTORY)
if(_parent)
set(caf_is_subproject ON)
else()
set(caf_is_subproject OFF)
endif()
unset(_parent)
# Be nice to VIM users and Clang tools. # Be nice to VIM users and Clang tools.
set(CMAKE_EXPORT_COMPILE_COMMANDS 1) set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
...@@ -50,7 +58,9 @@ else() ...@@ -50,7 +58,9 @@ else()
endif() endif()
# add helper target that simplifies re-running configure # add helper target that simplifies re-running configure
add_custom_target(configure COMMAND ${CMAKE_CURRENT_BINARY_DIR}/config.status) if(NOT caf_is_subproject)
add_custom_target(configure COMMAND ${CMAKE_CURRENT_BINARY_DIR}/config.status)
endif()
################################################################################ ################################################################################
# utility functions # # utility functions #
...@@ -404,12 +414,15 @@ install(DIRECTORY libcaf_test/caf/ DESTINATION include/caf ...@@ -404,12 +414,15 @@ install(DIRECTORY libcaf_test/caf/ DESTINATION include/caf
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY) IMMEDIATE @ONLY)
# add uninstall target # add uninstall target if it does not exist yet
add_custom_target(uninstall if(NOT TARGET uninstall)
add_custom_target(uninstall)
endif()
add_custom_command(TARGET uninstall
PRE_BUILD
COMMAND "${CMAKE_COMMAND}" -P COMMAND "${CMAKE_COMMAND}" -P
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
################################################################################ ################################################################################
# set inclue paths for subprojects # # set inclue paths for subprojects #
################################################################################ ################################################################################
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment