This is a precaution to avoid current and future naming conflicts with common system libraries. libutil (part of libc) is the first, but probably not the last example that already caused trouble twice. git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1614 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
41 lines
1.9 KiB
CMake
41 lines
1.9 KiB
CMake
### Setup search paths for headers ##
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR}/core)
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/core)
|
|
# Note: CMAKE_CURRENT_BINARY_DIR is needed to find "FailConfig.hpp", which
|
|
# is generated by CMake from config/FailConfig.hpp.in and stored in
|
|
# your build-dir. (The same goes for "FailControlMessage.pb.h", etc.)
|
|
# This is done in the "src"-folder because experiments need to include
|
|
# Fail* headers as well (see hierarchy of CMakeLists.txt's).
|
|
|
|
## Add CMakeLists from subdirectories ##
|
|
# The Fail* core source files (and it's subdirectories):
|
|
add_subdirectory(core)
|
|
|
|
# Here we add all user-defined experiments (which fills the target list)
|
|
add_subdirectory(experiments)
|
|
message(STATUS "[${PROJECT_NAME}] Chosen experiment targets:")
|
|
foreach(experiment_name ${EXPERIMENTS_ACTIVATED})
|
|
message(STATUS "[${PROJECT_NAME}] -> ${experiment_name}")
|
|
endforeach(experiment_name)
|
|
|
|
# Here we add activated plugins
|
|
add_subdirectory(plugins)
|
|
message(STATUS "[${PROJECT_NAME}] Chosen plugin targets:")
|
|
foreach(plugin_name ${PLUGINS_ACTIVATED})
|
|
message(STATUS "[${PROJECT_NAME}] -> ${plugin_name}")
|
|
endforeach(plugin_name)
|
|
|
|
# libfail: dummy library that pulls in all other libraries as dependencies
|
|
# (probably there's a smarter way to do that with cmake?)
|
|
add_library(fail dummy.cc)
|
|
|
|
## Setup build dependencies of the Fail* lib
|
|
## -> the Fail* targets and user defined experiment targets
|
|
# start/end-group: ld must iterate over these archives more than once to figure
|
|
# out which objects are needed
|
|
set(experiment_libraries "")
|
|
foreach(exp_or_plugin ${EXPERIMENTS_ACTIVATED} ${PLUGINS_ACTIVATED})
|
|
set(experiment_libraries ${experiment_libraries} fail-${exp_or_plugin})
|
|
endforeach(exp_or_plugin)
|
|
target_link_libraries(fail -Wl,--start-group ${experiment_libraries} fail-sal fail-cpn fail-efw fail-comm fail-util -Wl,--end-group)
|