summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Winter <allen.winter@kdab.com>2016-09-05 13:21:56 -0400
committerAllen Winter <allen.winter@kdab.com>2016-09-05 13:21:56 -0400
commit825e25a818968f527cbde328aee96eb4dd81f7f5 (patch)
tree800b9f4bfd30af1aa87fbfebb3420ee367c76ccb
parent806d5380b9204650b00b6ee0e85662ffd4e09b68 (diff)
downloadlibical-git-825e25a818968f527cbde328aee96eb4dd81f7f5.tar.gz
buildsystem - handle parallel builds when cross-compiling
might fix issues: 233 and 238
-rw-r--r--examples/CMakeLists.txt18
-rw-r--r--src/libical/CMakeLists.txt51
-rw-r--r--src/test/CMakeLists.txt63
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()