diff options
author | Allen Winter <allen.winter@kdab.com> | 2016-09-05 13:21:56 -0400 |
---|---|---|
committer | Allen Winter <allen.winter@kdab.com> | 2016-09-05 13:21:56 -0400 |
commit | 825e25a818968f527cbde328aee96eb4dd81f7f5 (patch) | |
tree | 800b9f4bfd30af1aa87fbfebb3420ee367c76ccb | |
parent | 806d5380b9204650b00b6ee0e85662ffd4e09b68 (diff) | |
download | libical-git-825e25a818968f527cbde328aee96eb4dd81f7f5.tar.gz |
buildsystem - handle parallel builds when cross-compiling
might fix issues: 233 and 238
-rw-r--r-- | examples/CMakeLists.txt | 18 | ||||
-rw-r--r-- | src/libical/CMakeLists.txt | 51 | ||||
-rw-r--r-- | src/test/CMakeLists.txt | 63 |
3 files changed, 52 insertions, 80 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 32942d99..7ba11f50 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -23,19 +23,11 @@ add_dependencies(doesnothing ical icalss icalvcal) if(NOT STATIC_ONLY) target_link_libraries(doesnothing ical icalss icalvcal) else() - if(NOT WIN32) - target_link_libraries(doesnothing - ${CMAKE_BINARY_DIR}/lib/libical.a - ${CMAKE_BINARY_DIR}/lib/libicalss.a - ${CMAKE_BINARY_DIR}/lib/libicalvcal.a - ) - else() - target_link_libraries(doesnothing - ${CMAKE_BINARY_DIR}/bin/libical-static.lib - ${CMAKE_BINARY_DIR}/bin/libicalss-static.lib - ${CMAKE_BINARY_DIR}/bin/libicalvcal-static.lib - ) - endif() + target_link_libraries(doesnothing + ical-static + icalss-static + icalvcal-static + ) target_link_libraries(doesnothing ${CMAKE_THREAD_LIBS_INIT}) if(ICU_FOUND) target_link_libraries(doesnothing ${ICU_LIBRARY}) diff --git a/src/libical/CMakeLists.txt b/src/libical/CMakeLists.txt index 369b089e..b50d47e4 100644 --- a/src/libical/CMakeLists.txt +++ b/src/libical/CMakeLists.txt @@ -317,39 +317,40 @@ if(WITH_CXX_BINDINGS) add_definitions(-DBUILD_LIBICALDLL) - if(NOT STATIC_ONLY) - add_library(ical_cxx SHARED ${icalcxx_LIB_SRCS}) - add_dependencies(ical_cxx ical-header) - target_link_libraries(ical_cxx ical ${CMAKE_THREAD_LIBS_INIT}) - if(WINCE) - target_link_libraries(ical_cxx ${WCECOMPAT_LIBRARIES}) - endif() - if(MSVC) - set_target_properties(ical_cxx PROPERTIES OUTPUT_NAME "libical_cxx") - endif() - set_target_properties(ical_cxx PROPERTIES - VERSION ${LIBICAL_LIB_VERSION_STRING} - SOVERSION ${LIBICAL_LIB_MAJOR_VERSION} - ) - set_target_properties(ical_cxx PROPERTIES CLEAN_DIRECT_OUTPUT 1) - - install( - TARGETS ical_cxx - EXPORT icalTargets - DESTINATION ${INSTALL_TARGETS_DEFAULT_ARGS} - ) - endif() - + add_library(ical_cxx ${LIBRARY_TYPE} ${icalcxx_LIB_SRCS}) + add_dependencies(ical_cxx ical-header) if(NOT SHARED_ONLY) add_library(ical_cxx-static STATIC ${icalcxx_LIB_SRCS}) add_dependencies(ical_cxx-static ical-header) - if(MSVC) + endif() + target_link_libraries(ical_cxx ical ${CMAKE_THREAD_LIBS_INIT}) + + if(MSVC) + set_target_properties(ical_cxx PROPERTIES OUTPUT_NAME "libical_cxx") + if(NOT SHARED_ONLY) set_target_properties(ical_cxx-static PROPERTIES OUTPUT_NAME "libical_cxx-static") - else() + endif() + else() + if(NOT SHARED_ONLY) set_target_properties(ical_cxx-static PROPERTIES OUTPUT_NAME "ical_cxx") endif() + endif() + + set_target_properties(ical_cxx PROPERTIES + VERSION ${LIBICAL_LIB_VERSION_STRING} + SOVERSION ${LIBICAL_LIB_MAJOR_VERSION} + ) + set_target_properties(ical_cxx PROPERTIES CLEAN_DIRECT_OUTPUT 1) + if(NOT SHARED_ONLY) set_target_properties(ical_cxx-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) + endif() + install( + TARGETS ical_cxx + EXPORT icalTargets + DESTINATION ${INSTALL_TARGETS_DEFAULT_ARGS} + ) + if(NOT SHARED_ONLY) install( TARGETS ical_cxx-static EXPORT icalTargets diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 83bafbc5..1df5bd85 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -46,50 +46,29 @@ endmacro() #macro to build (but do not create a test) macro(buildme _name _srcs) add_executable(${_name} ${_srcs}) - if(NOT STATIC_ONLY) - add_dependencies(${_name} ical icalss icalvcal) - target_link_libraries(${_name} ical icalss icalvcal) - if(WITH_CXX_BINDINGS) - target_link_libraries(${_name} ical_cxx icalss_cxx) - endif() - else() + add_dependencies(${_name} ical icalss icalvcal) + if(NOT SHARED_ONLY) add_dependencies(${_name} ical-static icalss-static icalvcal-static) - if(NOT WIN32) - target_link_libraries(${_name} - ${CMAKE_BINARY_DIR}/lib/libical.a - ${CMAKE_BINARY_DIR}/lib/libicalss.a - ${CMAKE_BINARY_DIR}/lib/libicalvcal.a - ) - else() - target_link_libraries(${_name} - ${CMAKE_BINARY_DIR}/bin/libical-static.lib - ${CMAKE_BINARY_DIR}/bin/libicalss-static.lib - ${CMAKE_BINARY_DIR}/bin/libicalvcal-static.lib - ) - endif() - target_link_libraries(${_name} ${CMAKE_THREAD_LIBS_INIT}) - if(ICU_FOUND) - target_link_libraries(${_name} ${ICU_LIBRARY}) - endif() - if(ICU_I18N_FOUND) - target_link_libraries(${_name} ${ICU_I18N_LIBRARY}) - endif() - if(WITH_BDB) - target_link_libraries(${_name} ${BDB_LIBRARY}) - endif() - if(WITH_CXX_BINDINGS) - if(NOT WIN32) - target_link_libraries(${_name} - ${CMAKE_BINARY_DIR}/lib/libical_cxx.a - ${CMAKE_BINARY_DIR}/lib/libicalss_cxx.a - ) - else() - target_link_libraries(${_name} - ${CMAKE_BINARY_DIR}/bin/libical_cxx-static.lib - ${CMAKE_BINARY_DIR}/bin/libicalss_cxx-static.lib - ) - endif() + endif() + target_link_libraries(${_name} ical icalss icalvcal) + + if(WITH_CXX_BINDINGS) + add_dependencies(${_name} ical_cxx icalss_cxx) + if(NOT SHARED_ONLY) + add_dependencies(${_name} ical_cxx-static icalss_cxx-static) endif() + target_link_libraries(${_name} ical_cxx icalss_cxx) + endif() + + target_link_libraries(${_name} ${CMAKE_THREAD_LIBS_INIT}) + if(ICU_FOUND) + target_link_libraries(${_name} ${ICU_LIBRARY}) + endif() + if(ICU_I18N_FOUND) + target_link_libraries(${_name} ${ICU_I18N_LIBRARY}) + endif() + if(WITH_BDB) + target_link_libraries(${_name} ${BDB_LIBRARY}) endif() endmacro() |