|
@@ -1,3 +1,11 @@
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+# General
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Basic
|
|
# Basic
|
|
##########################################################
|
|
##########################################################
|
|
@@ -7,6 +15,7 @@ project(ls_std VERSION 2022.1.0)
|
|
|
|
|
|
set(MODULE_NAME_BOXING ls_std_boxing)
|
|
set(MODULE_NAME_BOXING ls_std_boxing)
|
|
set(MODULE_NAME_CORE ls_std_core)
|
|
set(MODULE_NAME_CORE ls_std_core)
|
|
|
|
+set(MODULE_NAME_ENCODING ls_std_encoding)
|
|
set(MODULE_NAME_EVENT ls_std_event)
|
|
set(MODULE_NAME_EVENT ls_std_event)
|
|
set(MODULE_NAME_IO ls_std_io)
|
|
set(MODULE_NAME_IO ls_std_io)
|
|
set(MODULE_NAME_LOGIC ls_std_logic)
|
|
set(MODULE_NAME_LOGIC ls_std_logic)
|
|
@@ -18,11 +27,33 @@ set(GOOGLE_TEST_MODULE googletest-1.11.0)
|
|
# Options
|
|
# Options
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-option(LS_STD_BUILD_WITH_TESTS "Build project with tests..." OFF)
|
|
|
|
|
|
+option(LS_STD_BUILD_WITH_TESTS "Build project with tests..." ON)
|
|
option(LS_STD_BUILD_STATIC "Build ls_std static library..." ON)
|
|
option(LS_STD_BUILD_STATIC "Build ls_std static library..." ON)
|
|
option(LS_STD_BUILD_SHARED "Build ls_std shared library..." OFF)
|
|
option(LS_STD_BUILD_SHARED "Build ls_std shared library..." OFF)
|
|
option(LS_STD_BUILD_MODULE "Build ls_std module library..." OFF)
|
|
option(LS_STD_BUILD_MODULE "Build ls_std module library..." OFF)
|
|
|
|
|
|
|
|
+set(TARGET_COUNTER 0)
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_STATIC})
|
|
|
|
+ math(EXPR TARGET_COUNTER "${TARGET_COUNTER} + 1")
|
|
|
|
+ message("${PROJECT_NAME}: [Goal] static library")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
|
+ math(EXPR TARGET_COUNTER "${TARGET_COUNTER} + 1")
|
|
|
|
+ message("${PROJECT_NAME}: [Goal] shared library")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_MODULE})
|
|
|
|
+ math(EXPR TARGET_COUNTER "${TARGET_COUNTER} + 1")
|
|
|
|
+ message("${PROJECT_NAME}: [Goal] module library")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (TARGET_COUNTER GREATER 1)
|
|
|
|
+ message("${PROJECT_NAME}: [Error] only one goal supported at the same time!")
|
|
|
|
+ return()
|
|
|
|
+endif ()
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Compiler Settings
|
|
# Compiler Settings
|
|
##########################################################
|
|
##########################################################
|
|
@@ -56,9 +87,13 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/test/lib/${GOOGLE_TEST_MODULE})
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/test/lib/${GOOGLE_TEST_MODULE})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
-##########################################################
|
|
|
|
-# Source Files
|
|
|
|
-##########################################################
|
|
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+# Source Files Modularization
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
|
|
set(SOURCE_FILES_BOXING
|
|
set(SOURCE_FILES_BOXING
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/boxing/Boolean.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/boxing/Boolean.cpp
|
|
@@ -72,6 +107,9 @@ set(SOURCE_FILES_CORE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/Class.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/Class.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/Version.cpp)
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/Version.cpp)
|
|
|
|
|
|
|
|
+set(SOURCE_FILES_ENCODING
|
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/encoding/Base64.cpp)
|
|
|
|
+
|
|
set(SOURCE_FILES_EVENT
|
|
set(SOURCE_FILES_EVENT
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/event/serialization/SerializableJsonEvent.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/event/serialization/SerializableJsonEvent.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/event/Event.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/event/Event.cpp
|
|
@@ -110,6 +148,14 @@ set(SOURCE_FILES_LOGIC
|
|
set(SOURCE_FILES_TIME
|
|
set(SOURCE_FILES_TIME
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/time/Date.cpp)
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/time/Date.cpp)
|
|
|
|
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+# Test Files Modularization
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
set(TEST_FILES_BOXING
|
|
set(TEST_FILES_BOXING
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/BooleanTest.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/BooleanTest.cpp
|
|
@@ -134,6 +180,9 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/LibraryVersionTest.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/LibraryVersionTest.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/VersionTest.cpp)
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/VersionTest.cpp)
|
|
|
|
|
|
|
|
+ set(TEST_FILES_ENCODING
|
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/encoding/Base64Test.cpp)
|
|
|
|
+
|
|
set(TEST_FILES_EVENT
|
|
set(TEST_FILES_EVENT
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/serialization/SerializableJsonEventTest.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/serialization/SerializableJsonEventTest.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventHandlerTest.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventHandlerTest.cpp
|
|
@@ -188,6 +237,14 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/DateTest.cpp)
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/DateTest.cpp)
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+# Test Suite Builds
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Build Tests (boxing)
|
|
# Build Tests (boxing)
|
|
##########################################################
|
|
##########################################################
|
|
@@ -206,6 +263,15 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
add_executable(${MODULE_NAME_CORE}_test ${TEST_FILES_CORE})
|
|
add_executable(${MODULE_NAME_CORE}_test ${TEST_FILES_CORE})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+##########################################################
|
|
|
|
+# Build Tests (encoding)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
+ message("${MODULE_NAME_ENCODING}: Building tests...")
|
|
|
|
+ add_executable(${MODULE_NAME_ENCODING}_test ${TEST_FILES_ENCODING})
|
|
|
|
+endif ()
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Build Tests (event)
|
|
# Build Tests (event)
|
|
##########################################################
|
|
##########################################################
|
|
@@ -243,7 +309,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
##########################################################
|
|
##########################################################
|
|
-# Build Tests
|
|
|
|
|
|
+# Build Tests (all)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
if (${LS_STD_BUILD_WITH_TESTS})
|
|
@@ -251,6 +317,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
add_executable(${PROJECT_NAME}_test
|
|
add_executable(${PROJECT_NAME}_test
|
|
${TEST_FILES_BOXING}
|
|
${TEST_FILES_BOXING}
|
|
${TEST_FILES_CORE}
|
|
${TEST_FILES_CORE}
|
|
|
|
+ ${TEST_FILES_ENCODING}
|
|
${TEST_FILES_EVENT}
|
|
${TEST_FILES_EVENT}
|
|
${TEST_FILES_IO}
|
|
${TEST_FILES_IO}
|
|
${TEST_FILES_LOGIC}
|
|
${TEST_FILES_LOGIC}
|
|
@@ -258,6 +325,14 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
${TEST_FILES_TIME})
|
|
${TEST_FILES_TIME})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+# Build Library Binaries
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Build Library (boxing)
|
|
# Build Library (boxing)
|
|
##########################################################
|
|
##########################################################
|
|
@@ -290,6 +365,37 @@ if (${LS_STD_BUILD_STATIC})
|
|
set_target_properties("${MODULE_NAME_CORE}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
set_target_properties("${MODULE_NAME_CORE}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
|
+ add_library("${MODULE_NAME_CORE}" SHARED ${SOURCE_FILES_CORE})
|
|
|
|
+ set_target_properties("${MODULE_NAME_CORE}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_MODULE})
|
|
|
|
+ add_library("${MODULE_NAME_CORE}" MODULE ${SOURCE_FILES_CORE})
|
|
|
|
+ set_target_properties("${MODULE_NAME_CORE}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Build Library (encoding)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+message("${PROJECT_NAME}: Building ${MODULE_NAME_ENCODING} library version ${PROJECT_VERSION}...")
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_STATIC})
|
|
|
|
+ add_library("${MODULE_NAME_ENCODING}" STATIC ${SOURCE_FILES_ENCODING})
|
|
|
|
+ set_target_properties("${MODULE_NAME_ENCODING}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
|
+ add_library("${MODULE_NAME_ENCODING}" SHARED ${SOURCE_FILES_ENCODING})
|
|
|
|
+ set_target_properties("${MODULE_NAME_ENCODING}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_MODULE})
|
|
|
|
+ add_library("${MODULE_NAME_ENCODING}" MODULE ${SOURCE_FILES_ENCODING})
|
|
|
|
+ set_target_properties("${MODULE_NAME_ENCODING}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Build Library (event)
|
|
# Build Library (event)
|
|
##########################################################
|
|
##########################################################
|
|
@@ -301,6 +407,16 @@ if (${LS_STD_BUILD_STATIC})
|
|
set_target_properties("${MODULE_NAME_EVENT}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
set_target_properties("${MODULE_NAME_EVENT}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
|
+ add_library("${MODULE_NAME_EVENT}" SHARED ${SOURCE_FILES_EVENT})
|
|
|
|
+ set_target_properties("${MODULE_NAME_EVENT}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_MODULE})
|
|
|
|
+ add_library("${MODULE_NAME_EVENT}" MODULE ${SOURCE_FILES_EVENT})
|
|
|
|
+ set_target_properties("${MODULE_NAME_EVENT}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Build Library (io)
|
|
# Build Library (io)
|
|
##########################################################
|
|
##########################################################
|
|
@@ -312,6 +428,16 @@ if (${LS_STD_BUILD_STATIC})
|
|
set_target_properties("${MODULE_NAME_IO}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
set_target_properties("${MODULE_NAME_IO}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
|
+ add_library("${MODULE_NAME_IO}" SHARED ${SOURCE_FILES_IO})
|
|
|
|
+ set_target_properties("${MODULE_NAME_IO}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_MODULE})
|
|
|
|
+ add_library("${MODULE_NAME_IO}" MODULE ${SOURCE_FILES_IO})
|
|
|
|
+ set_target_properties("${MODULE_NAME_IO}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Build Library (logic)
|
|
# Build Library (logic)
|
|
##########################################################
|
|
##########################################################
|
|
@@ -323,6 +449,16 @@ if (${LS_STD_BUILD_STATIC})
|
|
set_target_properties("${MODULE_NAME_LOGIC}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
set_target_properties("${MODULE_NAME_LOGIC}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
|
+ add_library("${MODULE_NAME_LOGIC}" SHARED ${SOURCE_FILES_LOGIC})
|
|
|
|
+ set_target_properties("${MODULE_NAME_LOGIC}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_MODULE})
|
|
|
|
+ add_library("${MODULE_NAME_LOGIC}" MODULE ${SOURCE_FILES_LOGIC})
|
|
|
|
+ set_target_properties("${MODULE_NAME_LOGIC}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
# Build Library (time)
|
|
# Build Library (time)
|
|
##########################################################
|
|
##########################################################
|
|
@@ -334,11 +470,29 @@ if (${LS_STD_BUILD_STATIC})
|
|
set_target_properties("${MODULE_NAME_TIME}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
set_target_properties("${MODULE_NAME_TIME}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
|
+ add_library("${MODULE_NAME_TIME}" SHARED ${SOURCE_FILES_TIME})
|
|
|
|
+ set_target_properties("${MODULE_NAME_TIME}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_MODULE})
|
|
|
|
+ add_library("${MODULE_NAME_TIME}" MODULE ${SOURCE_FILES_TIME})
|
|
|
|
+ set_target_properties("${MODULE_NAME_TIME}" PROPERTIES DEBUG_POSTFIX "_d")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+# Test Suite: Static Linking
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+
|
|
##########################################################
|
|
##########################################################
|
|
-# Linking (boxing)
|
|
|
|
|
|
+# Static Linking (boxing)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
message("${MODULE_NAME_BOXING}: Linking libraries for test application...")
|
|
message("${MODULE_NAME_BOXING}: Linking libraries for test application...")
|
|
target_link_libraries(${MODULE_NAME_BOXING}_test
|
|
target_link_libraries(${MODULE_NAME_BOXING}_test
|
|
gtest
|
|
gtest
|
|
@@ -349,10 +503,10 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
##########################################################
|
|
##########################################################
|
|
-# Linking (core)
|
|
|
|
|
|
+# Static Linking (core)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
message("${MODULE_NAME_CORE}: Linking libraries for test application...")
|
|
message("${MODULE_NAME_CORE}: Linking libraries for test application...")
|
|
target_link_libraries(${MODULE_NAME_CORE}_test
|
|
target_link_libraries(${MODULE_NAME_CORE}_test
|
|
gtest
|
|
gtest
|
|
@@ -362,10 +516,24 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
##########################################################
|
|
##########################################################
|
|
-# Linking (event)
|
|
|
|
|
|
+# Static Linking (encoding)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
|
|
+ message("${MODULE_NAME_ENCODING}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_ENCODING}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_ENCODING}"
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Static Linking (event)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
message("${MODULE_NAME_EVENT}: Linking libraries for test application...")
|
|
message("${MODULE_NAME_EVENT}: Linking libraries for test application...")
|
|
target_link_libraries(${MODULE_NAME_EVENT}_test
|
|
target_link_libraries(${MODULE_NAME_EVENT}_test
|
|
gtest
|
|
gtest
|
|
@@ -376,10 +544,10 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
##########################################################
|
|
##########################################################
|
|
-# Linking (io)
|
|
|
|
|
|
+# Static Linking (io)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
message("${MODULE_NAME_IO}: Linking libraries for test application...")
|
|
message("${MODULE_NAME_IO}: Linking libraries for test application...")
|
|
target_link_libraries(${MODULE_NAME_IO}_test
|
|
target_link_libraries(${MODULE_NAME_IO}_test
|
|
gtest
|
|
gtest
|
|
@@ -390,10 +558,10 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
##########################################################
|
|
##########################################################
|
|
-# Linking (logic)
|
|
|
|
|
|
+# Static Linking (logic)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
message("${MODULE_NAME_LOGIC}: Linking libraries for test application...")
|
|
message("${MODULE_NAME_LOGIC}: Linking libraries for test application...")
|
|
target_link_libraries(${MODULE_NAME_LOGIC}_test
|
|
target_link_libraries(${MODULE_NAME_LOGIC}_test
|
|
gtest
|
|
gtest
|
|
@@ -404,10 +572,10 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
##########################################################
|
|
##########################################################
|
|
-# Linking (time)
|
|
|
|
|
|
+# Static Linking (time)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
message("${MODULE_NAME_TIME}: Linking libraries for test application...")
|
|
message("${MODULE_NAME_TIME}: Linking libraries for test application...")
|
|
target_link_libraries(${MODULE_NAME_TIME}_test
|
|
target_link_libraries(${MODULE_NAME_TIME}_test
|
|
gtest
|
|
gtest
|
|
@@ -418,10 +586,134 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
##########################################################
|
|
##########################################################
|
|
-# Linking
|
|
|
|
|
|
+# Static Linking (all)
|
|
##########################################################
|
|
##########################################################
|
|
|
|
|
|
-if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
|
|
|
|
+ message("${PROJECT_NAME}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${PROJECT_NAME}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_CORE}"
|
|
|
|
+ "${MODULE_NAME_BOXING}"
|
|
|
|
+ "${MODULE_NAME_ENCODING}"
|
|
|
|
+ "${MODULE_NAME_EVENT}"
|
|
|
|
+ "${MODULE_NAME_IO}"
|
|
|
|
+ "${MODULE_NAME_LOGIC}"
|
|
|
|
+ "${MODULE_NAME_TIME}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+# Test Suite: Dynamic Linking
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+####################################################################################################################
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (boxing)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
|
|
+ message("${MODULE_NAME_BOXING}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_BOXING}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_BOXING}"
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (core)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
|
|
+ message("${MODULE_NAME_CORE}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_CORE}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (encoding)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
|
|
+ message("${MODULE_NAME_ENCODING}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_ENCODING}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_ENCODING}"
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (event)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
|
|
+ message("${MODULE_NAME_EVENT}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_EVENT}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_EVENT}"
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (io)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
|
|
+ message("${MODULE_NAME_IO}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_IO}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_IO}"
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (logic)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
|
|
+ message("${MODULE_NAME_LOGIC}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_LOGIC}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_LOGIC}"
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (time)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
|
|
+ message("${MODULE_NAME_TIME}: Linking libraries for test application...")
|
|
|
|
+ target_link_libraries(${MODULE_NAME_TIME}_test
|
|
|
|
+ gtest
|
|
|
|
+ gmock
|
|
|
|
+ gtest_main
|
|
|
|
+ "${MODULE_NAME_TIME}"
|
|
|
|
+ "${MODULE_NAME_CORE}")
|
|
|
|
+endif ()
|
|
|
|
+
|
|
|
|
+##########################################################
|
|
|
|
+# Dynamic Linking (all)
|
|
|
|
+##########################################################
|
|
|
|
+
|
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED})
|
|
message("${PROJECT_NAME}: Linking libraries for test application...")
|
|
message("${PROJECT_NAME}: Linking libraries for test application...")
|
|
target_link_libraries(${PROJECT_NAME}_test
|
|
target_link_libraries(${PROJECT_NAME}_test
|
|
gtest
|
|
gtest
|
|
@@ -429,6 +721,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
gtest_main
|
|
gtest_main
|
|
"${MODULE_NAME_CORE}"
|
|
"${MODULE_NAME_CORE}"
|
|
"${MODULE_NAME_BOXING}"
|
|
"${MODULE_NAME_BOXING}"
|
|
|
|
+ "${MODULE_NAME_ENCODING}"
|
|
"${MODULE_NAME_EVENT}"
|
|
"${MODULE_NAME_EVENT}"
|
|
"${MODULE_NAME_IO}"
|
|
"${MODULE_NAME_IO}"
|
|
"${MODULE_NAME_LOGIC}"
|
|
"${MODULE_NAME_LOGIC}"
|