|
@@ -14,6 +14,7 @@ cmake_minimum_required(VERSION 3.17)
|
|
|
project(ls-std VERSION 2023.3.0)
|
|
|
|
|
|
set(MODULE_NAME_BOXING ls-std-boxing)
|
|
|
+set(MODULE_NAME_CLI ls-std-cli)
|
|
|
set(MODULE_NAME_CORE ls-std-core)
|
|
|
set(MODULE_NAME_ENCODING ls-std-encoding)
|
|
|
set(MODULE_NAME_EVENT ls-std-event)
|
|
@@ -162,6 +163,9 @@ set(SOURCE_FILES_BOXING
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Long.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/String.cpp)
|
|
|
|
|
|
+set(SOURCE_FILES_CLI
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/cli/Command.cpp)
|
|
|
+
|
|
|
set(SOURCE_FILES_CORE
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/EmptyStringArgumentEvaluator.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/IndexOutOfBoundsEvaluator.cpp
|
|
@@ -304,6 +308,9 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/LongTest.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/StringTest.cpp)
|
|
|
|
|
|
+ set(UNIT_TEST_FILES_CLI
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/cli/CommandTest.cpp)
|
|
|
+
|
|
|
set(UNIT_TEST_FILES_CORE
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/EmptyStringArgumentEvaluatorTest.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/IndexOutOfBoundsEvaluatorTest.cpp
|
|
@@ -438,6 +445,15 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
add_executable(${MODULE_NAME_BOXING}-unit-test ${UNIT_TEST_FILES_BOXING})
|
|
|
endif ()
|
|
|
|
|
|
+##########################################################
|
|
|
+# Unit Build Tests (cli)
|
|
|
+##########################################################
|
|
|
+
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
+ message("${MODULE_NAME_CLI}: Building unit tests...")
|
|
|
+ add_executable(${MODULE_NAME_CLI}-unit-test ${UNIT_TEST_FILES_CLI})
|
|
|
+endif ()
|
|
|
+
|
|
|
##########################################################
|
|
|
# Unit Build Tests (core)
|
|
|
##########################################################
|
|
@@ -502,6 +518,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestException.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestHelper.cpp
|
|
|
${UNIT_TEST_FILES_BOXING}
|
|
|
+ ${UNIT_TEST_FILES_CLI}
|
|
|
${UNIT_TEST_FILES_CORE}
|
|
|
${UNIT_TEST_FILES_CORE_JNI}
|
|
|
${UNIT_TEST_FILES_ENCODING}
|
|
@@ -515,6 +532,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestException.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestHelper.cpp
|
|
|
${UNIT_TEST_FILES_BOXING}
|
|
|
+ ${UNIT_TEST_FILES_CLI}
|
|
|
${UNIT_TEST_FILES_CORE}
|
|
|
${UNIT_TEST_FILES_ENCODING}
|
|
|
${UNIT_TEST_FILES_EVENT}
|
|
@@ -572,6 +590,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestException.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestHelper.cpp
|
|
|
${UNIT_TEST_FILES_BOXING}
|
|
|
+ ${UNIT_TEST_FILES_CLI}
|
|
|
${UNIT_TEST_FILES_CORE}
|
|
|
${UNIT_TEST_FILES_CORE_JNI}
|
|
|
${UNIT_TEST_FILES_ENCODING}
|
|
@@ -586,6 +605,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestException.cpp
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/test/classes/TestHelper.cpp
|
|
|
${UNIT_TEST_FILES_BOXING}
|
|
|
+ ${UNIT_TEST_FILES_CLI}
|
|
|
${UNIT_TEST_FILES_CORE}
|
|
|
${UNIT_TEST_FILES_ENCODING}
|
|
|
${UNIT_TEST_FILES_EVENT}
|
|
@@ -621,6 +641,22 @@ if (${LS_STD_BUILD_SHARED})
|
|
|
set_target_properties("${MODULE_NAME_BOXING}" PROPERTIES DEBUG_POSTFIX "-d")
|
|
|
endif ()
|
|
|
|
|
|
+##########################################################
|
|
|
+# Build Library (cli)
|
|
|
+##########################################################
|
|
|
+
|
|
|
+message("${PROJECT_NAME}: Building ${MODULE_NAME_CLI} library version ${PROJECT_VERSION}...")
|
|
|
+
|
|
|
+if (${LS_STD_BUILD_STATIC})
|
|
|
+ add_library("${MODULE_NAME_CLI}" STATIC ${SOURCE_FILES_CLI})
|
|
|
+ set_target_properties("${MODULE_NAME_CLI}" PROPERTIES DEBUG_POSTFIX "-d")
|
|
|
+endif ()
|
|
|
+
|
|
|
+if (${LS_STD_BUILD_SHARED})
|
|
|
+ add_library("${MODULE_NAME_CLI}" SHARED ${SOURCE_FILES_CLI})
|
|
|
+ set_target_properties("${MODULE_NAME_CLI}" PROPERTIES DEBUG_POSTFIX "-d")
|
|
|
+endif ()
|
|
|
+
|
|
|
##########################################################
|
|
|
# Build Library (core)
|
|
|
##########################################################
|
|
@@ -744,6 +780,19 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
"${MODULE_NAME_CORE}")
|
|
|
endif ()
|
|
|
|
|
|
+##########################################################
|
|
|
+# Unit Linking (cli)
|
|
|
+##########################################################
|
|
|
+
|
|
|
+if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
+ message("${MODULE_NAME_CLI}: Linking libraries for unit test application...")
|
|
|
+ target_link_libraries(${MODULE_NAME_CLI}-unit-test
|
|
|
+ gtest
|
|
|
+ gmock
|
|
|
+ gtest_main
|
|
|
+ "${MODULE_NAME_CLI}")
|
|
|
+endif ()
|
|
|
+
|
|
|
##########################################################
|
|
|
# Unit Linking (core)
|
|
|
##########################################################
|
|
@@ -822,6 +871,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
gmock
|
|
|
gtest_main
|
|
|
"${MODULE_NAME_BOXING}"
|
|
|
+ "${MODULE_NAME_CLI}"
|
|
|
"${MODULE_NAME_ENCODING}"
|
|
|
"${MODULE_NAME_EVENT}"
|
|
|
"${MODULE_NAME_IO}"
|
|
@@ -865,6 +915,7 @@ if (${LS_STD_BUILD_WITH_TESTS})
|
|
|
gmock
|
|
|
gtest_main
|
|
|
"${MODULE_NAME_BOXING}"
|
|
|
+ "${MODULE_NAME_CLI}"
|
|
|
"${MODULE_NAME_ENCODING}"
|
|
|
"${MODULE_NAME_EVENT}"
|
|
|
"${MODULE_NAME_IO}"
|