|
|
@@ -99,6 +99,15 @@ if (${LS_STD_BUILD_WITH_SUPPORTED_COMPILER})
|
|
|
endif ()
|
|
|
endif ()
|
|
|
|
|
|
+##########################################################
|
|
|
+# Apple - LLVM Clang Scenario
|
|
|
+##########################################################
|
|
|
+
|
|
|
+if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ set(MACOS_SDK "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk")
|
|
|
+ set(SDK_LIBCXX_FLAGS -nostdinc++ -isystem;${MACOS_SDK}/usr/include/c++/v1 -isysroot;${MACOS_SDK})
|
|
|
+endif ()
|
|
|
+
|
|
|
######################################################
|
|
|
# Find Packages
|
|
|
######################################################
|
|
|
@@ -143,6 +152,16 @@ message("${PROJECT_NAME}: Adding additional cmake dependencies...")
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/test/lib/${GOOGLE_TEST_MODULE})
|
|
|
+
|
|
|
+ target_compile_options(gtest PRIVATE -Wno-error -Wno-character-conversion)
|
|
|
+ target_compile_options(gmock PRIVATE -Wno-error -Wno-character-conversion)
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ message("${PROJECT_NAME}: Set Google Test Apple SDK with LLVM Clang...")
|
|
|
+
|
|
|
+ target_compile_options(gtest PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ target_compile_options(gmock PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
endif ()
|
|
|
|
|
|
####################################################################################################################
|
|
|
@@ -420,6 +439,24 @@ build_event_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED MODULE_NAME_EVENT MOD
|
|
|
build_io_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED MODULE_NAME_IO MODULE_NAME_CORE SOURCE_FILES_IO)
|
|
|
build_time_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED LS_STD_BUILD_WITH_JNI MODULE_NAME_TIME MODULE_NAME_CORE SOURCE_FILES_TIME SOURCE_FILES_LINUX_TIME SOURCE_FILES_WINDOWS_TIME SOURCE_FILES_TIME_JNI)
|
|
|
|
|
|
+if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ message("${PROJECT_NAME}: choose Apple LLVM-Clang setup...")
|
|
|
+
|
|
|
+ target_compile_options("${MODULE_NAME_BOXING}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ target_compile_options("${MODULE_NAME_CORE}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ target_compile_options("${MODULE_NAME_ENCODING}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ target_compile_options("${MODULE_NAME_EVENT}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ target_compile_options("${MODULE_NAME_IO}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ target_compile_options("${MODULE_NAME_TIME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+
|
|
|
+ target_compile_options("${MODULE_NAME_BOXING}" PRIVATE ${MACOS_SDK})
|
|
|
+ target_compile_options("${MODULE_NAME_CORE}" PRIVATE ${MACOS_SDK})
|
|
|
+ target_compile_options("${MODULE_NAME_ENCODING}" PRIVATE ${MACOS_SDK})
|
|
|
+ target_compile_options("${MODULE_NAME_EVENT}" PRIVATE ${MACOS_SDK})
|
|
|
+ target_compile_options("${MODULE_NAME_IO}" PRIVATE ${MACOS_SDK})
|
|
|
+ target_compile_options("${MODULE_NAME_TIME}" PRIVATE ${MACOS_SDK})
|
|
|
+endif ()
|
|
|
+
|
|
|
# CLI base64
|
|
|
|
|
|
add_executable(${CLI_NAME_BASE64}
|
|
|
@@ -439,7 +476,14 @@ add_executable(${CLI_NAME_BASE64}
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${MODULE_NAME_BOXING}: Linking libraries for unit test application...")
|
|
|
- target_link_libraries(${MODULE_NAME_BOXING}-unit-test
|
|
|
+ set(BOXING_UNIT_TEST_NAME "${MODULE_NAME_BOXING}-unit-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${BOXING_UNIT_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${BOXING_UNIT_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gtest_main
|
|
|
"${MODULE_NAME_BOXING}"
|
|
|
@@ -452,7 +496,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${MODULE_NAME_CORE}: Linking libraries for unit test application...")
|
|
|
- target_link_libraries(${MODULE_NAME_CORE}-unit-test
|
|
|
+ set(CORE_UNIT_TEST_NAME "${MODULE_NAME_CORE}-unit-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${CORE_UNIT_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${CORE_UNIT_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gmock
|
|
|
gtest_main
|
|
|
@@ -465,7 +516,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${MODULE_NAME_ENCODING}: Linking libraries for unit test application...")
|
|
|
- target_link_libraries(${MODULE_NAME_ENCODING}-unit-test
|
|
|
+ set(ENCODING_UNIT_TEST_NAME "${MODULE_NAME_ENCODING}-unit-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${ENCODING_UNIT_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${ENCODING_UNIT_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gtest_main
|
|
|
"${MODULE_NAME_ENCODING}"
|
|
|
@@ -478,7 +536,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${MODULE_NAME_EVENT}: Linking libraries for unit test application...")
|
|
|
- target_link_libraries(${MODULE_NAME_EVENT}-unit-test
|
|
|
+ set(EVENT_UNIT_TEST_NAME "${MODULE_NAME_EVENT}-unit-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${EVENT_UNIT_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${EVENT_UNIT_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gtest_main
|
|
|
"${MODULE_NAME_EVENT}"
|
|
|
@@ -491,7 +556,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${MODULE_NAME_IO}: Linking libraries for unit test application...")
|
|
|
- target_link_libraries(${MODULE_NAME_IO}-unit-test
|
|
|
+ set(IO_UNIT_TEST_NAME "${MODULE_NAME_IO}-unit-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${IO_UNIT_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${IO_UNIT_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gmock
|
|
|
gtest_main
|
|
|
@@ -505,7 +577,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${MODULE_NAME_TIME}: Linking libraries for unit test application...")
|
|
|
- target_link_libraries(${MODULE_NAME_TIME}-unit-test
|
|
|
+ set(TIME_UNIT_TEST_NAME "${MODULE_NAME_TIME}-unit-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${TIME_UNIT_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${TIME_UNIT_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gmock
|
|
|
gtest_main
|
|
|
@@ -519,7 +598,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${PROJECT_NAME}: Linking libraries for unit test application...")
|
|
|
- target_link_libraries(${PROJECT_NAME}-unit-test
|
|
|
+ set(ALL_UNIT_TEST_NAME "${PROJECT_NAME}-unit-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${ALL_UNIT_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${ALL_UNIT_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gmock
|
|
|
gtest_main
|
|
|
@@ -545,7 +631,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${MODULE_NAME_IO}: Linking libraries for integration test application...")
|
|
|
- target_link_libraries(${MODULE_NAME_IO}-integration-test
|
|
|
+ set(IO_INTEGRATION_TEST_NAME "${MODULE_NAME_IO}-integration-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${IO_INTEGRATION_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${IO_INTEGRATION_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gtest_main
|
|
|
"${MODULE_NAME_IO}"
|
|
|
@@ -562,7 +655,14 @@ endif ()
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
message("${PROJECT_NAME}: Linking libraries for whole test application...")
|
|
|
- target_link_libraries(${PROJECT_NAME}-test
|
|
|
+ set(WHOLE_TEST_NAME "${PROJECT_NAME}-test")
|
|
|
+
|
|
|
+ if (APPLE AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
|
|
+ target_compile_options("${WHOLE_TEST_NAME}" PRIVATE ${SDK_LIBCXX_FLAGS})
|
|
|
+ endif ()
|
|
|
+
|
|
|
+ target_link_libraries(${WHOLE_TEST_NAME}
|
|
|
+ PRIVATE
|
|
|
gtest
|
|
|
gmock
|
|
|
gtest_main
|