diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-06-12 23:33:52 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-06-12 23:33:52 (GMT) |
commit | bbd892b435c12395a6cf53bc53ed5acf195e4cbd (patch) | |
tree | 86ca106d7d347eb6361fca8c1dec4d7fc7cae965 /CMakeLists.txt | |
parent | 57510db0f3f10f85ecea53376ccf40688e2475bd (diff) | |
download | uscxml-bbd892b435c12395a6cf53bc53ed5acf195e4cbd.zip uscxml-bbd892b435c12395a6cf53bc53ed5acf195e4cbd.tar.gz uscxml-bbd892b435c12395a6cf53bc53ed5acf195e4cbd.tar.bz2 |
Fixed build for unices
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ad77e19..9a7b463 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,6 +152,10 @@ else() endif() OPTION(ENABLE_GCOV "Compile with gcov support" OFF) +OPTION(BUILD_DM_ECMA "Build with ECMAScript datamodel" ON) +OPTION(BUILD_DM_XPATH "Build with XPath datamodel" ON) +OPTION(BUILD_DM_PROLOG "Build with Prolog datamodel" ON) + # a dummy target to depend on the targets needed for tests, see: # http://stackoverflow.com/questions/733475/cmake-ctest-make-test-doesnt-build-tests add_custom_target(ALL_TESTS COMMENT "Building all tests when BUILD_TESTS is enabled") @@ -565,6 +569,90 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DI configure_file(${CMAKE_CURRENT_SOURCE_DIR}/contrib/ctest/CTestCustom.ctest.in ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.ctest @ONCE) ############################################################ +# Some concluding remarks +############################################################ + +message(STATUS "Linking against external:") +set(SKIP_NEXT OFF) +foreach(LIBRARY ${USCXML_OPT_LIBS}) + if (LIBRARY MATCHES "debug") + if(CMAKE_BUILD_TYPE STREQUAL "Release") + set(SKIP_NEXT ON) + endif() + elseif (LIBRARY MATCHES "optimized") + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(SKIP_NEXT ON) + endif() + elseif (LIBRARY MATCHES "uscxml.*") + elseif (LIBRARY MATCHES "mmi_proto.*") + else() + if (NOT SKIP_NEXT) + message(STATUS " ${LIBRARY}") + else() + set(SKIP_NEXT OFF) + endif() + endif() +endforeach() + +set(AVAILABLE_DATAMODELS "") +set(ALL_FILES_STRING "${USCXML_FILES}") +if(ALL_FILES_STRING MATCHES ".*datamodel/ecmascript.*" OR TARGET datamodel_v8) + set(AVAILABLE_DATAMODELS "ecmascript ${AVAILABLE_DATAMODELS}") +endif() +if(ALL_FILES_STRING MATCHES ".*datamodel/prolog.*" OR TARGET datamodel_swi) + set(AVAILABLE_DATAMODELS "prolog ${AVAILABLE_DATAMODELS}") +endif() +if(ALL_FILES_STRING MATCHES ".*datamodel/xpath.*" OR TARGET datamodel_xpath) + set(AVAILABLE_DATAMODELS "xpath ${AVAILABLE_DATAMODELS}") +endif() + +set(AVAILABLE_LANGUAGE_BINDINGS "") +if (TARGET uscxmlNativePHP) + set(AVAILABLE_LANGUAGE_BINDINGS "php ${AVAILABLE_LANGUAGE_BINDINGS}") +endif() + +message(STATUS "Targets:") +message(STATUS " Available datamodels ........... : null ${AVAILABLE_DATAMODELS}") +message(STATUS " Available language bindings .... : ${AVAILABLE_LANGUAGE_BINDINGS}") +if (BUILD_SHARED_LIBS AND BUILD_BINDINGS) + message(STATUS "") + message(STATUS " Warning: Building language bindings BUILD_SHARED_LIBS=ON") + message(STATUS " introduces runtime dependency to libumundocore") + message(STATUS "") +endif() + +message(STATUS "General information:") +message(STATUS " Build type ..................... : ${CMAKE_BUILD_TYPE}") +if (BUILD_SHARED_LIBS) + message(STATUS " Building library as ............ : SHARED") +else() + message(STATUS " Building library as ............ : STATIC") +endif() + +if (BUILD_PREFER_STATIC_LIBRARIES) + message(STATUS " Preferring dependent libraries . : STATIC ") +else() + message(STATUS " Preferring dependent libraries . : SHARED") +endif() + +if (BUILD_PREFER_PREBUILT_LIBS) + STRING(REGEX REPLACE "${PROJECT_SOURCE_DIR}/" "" REL_USCXML_PREBUILT_LIBRARY_PATH ${USCXML_PREBUILT_LIBRARY_PATH}) + message(STATUS " Preferring dependent libraries . : from ${REL_USCXML_PREBUILT_LIBRARY_PATH}") +else() + message(STATUS " Preferring dependent libraries . : installed on system") +endif() + +STRING(REGEX REPLACE "${CMAKE_BINARY_DIR}" "BUILD_DIR" REL_CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) +STRING(REGEX REPLACE "${CMAKE_SOURCE_DIR}" "SOURCE_DIR" REL_CMAKE_LIBRARY_OUTPUT_DIRECTORY ${REL_CMAKE_LIBRARY_OUTPUT_DIRECTORY}) + +STRING(REGEX REPLACE "${CMAKE_BINARY_DIR}" "BUILD_DIR" REL_CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +STRING(REGEX REPLACE "${CMAKE_SOURCE_DIR}" "SOURCE_DIR" REL_CMAKE_RUNTIME_OUTPUT_DIRECTORY ${REL_CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + +message(STATUS " Libraries will end up in ....... : " ${REL_CMAKE_LIBRARY_OUTPUT_DIRECTORY}) +message(STATUS " Binaries will end up in ........ : " ${REL_CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + + +############################################################ # Installation / Provide package target ############################################################ |