From f6ba86aff8d482269ddff1324a6beeea27f4d8b2 Mon Sep 17 00:00:00 2001 From: IlyaShurupov Date: Fri, 27 Oct 2023 15:33:33 +0300 Subject: [PATCH] CMake fixes --- .github/workflows/cmake.yml | 65 +++++++++++----------- Allocators/CMakeLists.txt | 11 +--- Allocators/private/HeapAllocator.cpp | 4 +- Allocators/private/HeapAllocatorGlobal.cpp | 7 ++- CMakeLists.txt | 15 +++-- CMakeOptions.txt | 7 +++ CommandLine/CMakeLists.txt | 11 +--- Connection/CMakeLists.txt | 11 +--- Containers/CMakeLists.txt | 11 +--- DataAnalysis/CMakeLists.txt | 7 --- Graphics/CMakeLists.txt | 13 +---- Math/CMakeLists.txt | 11 +--- Modules/CMakeLists.txt | 12 +--- Objects/CMakeLists.txt | 11 +--- Parser/CMakeLists.txt | 13 +---- RayTracer/CMakeLists.txt | 7 --- Strings/CMakeLists.txt | 11 +--- Tokenizer/CMakeLists.txt | 11 +--- Utils/CMakeLists.txt | 12 +--- 19 files changed, 82 insertions(+), 168 deletions(-) create mode 100644 CMakeOptions.txt diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 781907a..1c3e8df 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -18,41 +18,44 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 - - name: Setup externals - shell: bash - run: | - # If your submodules are configured to use SSH instead of HTTPS please uncomment the following line - # git config --global url."https://github.com/".insteadOf "git@github.com:" - auth_header="$(git config --local --get http.https://github.com/.extraheader)" - git submodule sync --recursive - git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - - sudo apt-get update - sudo apt-get install python3 python-is-python3 - sudo apt-get install -y libx11-dev libgl1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev - - cd Externals/glew/ - make extensions - - - name: Set LLVM Toolchain - run: | - sudo apt-get install -y llvm - sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 10 - sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 20 + - name: Setup + shell: bash + run: | + # If your submodules are configured to use SSH instead of HTTPS please uncomment the following line + # git config --global url."https://github.com/".insteadOf "git@github.com:" + auth_header="$(git config --local --get http.https://github.com/.extraheader)" - - name: Configure CMake - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + git submodule sync --recursive + git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 + + sudo apt-get update + sudo apt-get install python3 python-is-python3 + sudo apt-get install -y libx11-dev libgl1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev + sudo apt-get install -y clang-15 + + cd Externals/glew/ + make extensions - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + #- name: Set LLVM Toolchain + #run: | + # sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 10 + # sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 20 - - name: Test - working-directory: ${{github.workspace}}/build - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest -C ${{env.BUILD_TYPE}} + - name: Configure CMake + run: | + clang++-15 -v + CC=clang-15 CXX=clang++-15 cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + run: CC=clang CXX=clang++ cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -v + + - name: Test + working-directory: ${{github.workspace}}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest -C ${{env.BUILD_TYPE}} diff --git a/Allocators/CMakeLists.txt b/Allocators/CMakeLists.txt index 99ec141..be6b035 100644 --- a/Allocators/CMakeLists.txt +++ b/Allocators/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Allocators) ### ---------------------- Static Library --------------------- ### @@ -16,7 +11,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Utils) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Allocators/private/HeapAllocator.cpp b/Allocators/private/HeapAllocator.cpp index 1b18b2f..3ff89bb 100644 --- a/Allocators/private/HeapAllocator.cpp +++ b/Allocators/private/HeapAllocator.cpp @@ -5,6 +5,8 @@ #include "PrivateConfig.hpp" +#include + using namespace tp; #if not defined(MEM_DEBUG) @@ -61,7 +63,7 @@ HeapAlloc::~HeapAlloc() { DEBUG_BREAK("Destruction of not freed Allocator") #ifdef MEM_STACK_TRACE -// TODO : log leaks and free them up + // TODO : log leaks and free them up #endif } } diff --git a/Allocators/private/HeapAllocatorGlobal.cpp b/Allocators/private/HeapAllocatorGlobal.cpp index fc7b748..691e11e 100644 --- a/Allocators/private/HeapAllocatorGlobal.cpp +++ b/Allocators/private/HeapAllocatorGlobal.cpp @@ -18,6 +18,9 @@ using namespace tp; void* HeapAllocGlobal::allocate(ualni aBlockSize) { return malloc(aBlockSize); } void HeapAllocGlobal::deallocate(void* aPtr) { free(aPtr); } HeapAllocGlobal::~HeapAllocGlobal() = default; +bool HeapAllocGlobal::checkLeaks() { return false; } +void HeapAllocGlobal::startIgnore() {} +void HeapAllocGlobal::stopIgnore() {} #else @@ -95,7 +98,7 @@ ALLOCATE: } mEntry = head; -// 3) Trace the stack + // 3) Trace the stack #ifdef MEM_STACK_TRACE head->mCallStack = gCSCapture->getSnapshot(); #endif @@ -146,7 +149,7 @@ void HeapAllocGlobal::deallocate(void* aPtr) { ASSERT(!"Allocated Block Wrap Corrupted!") } -// 4) clear data + // 4) clear data #ifdef MEM_CLEAR_ON_ALLOC memSetVal(data, head->mBlockSize, CLEAR_DEALLOC_VAL); #endif diff --git a/CMakeLists.txt b/CMakeLists.txt index 9997c9c..2596cf1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,15 @@ -cmake_minimum_required(VERSION 3.2) -set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/install) +cmake_minimum_required(VERSION 3.5) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -gdwarf-4") +set(CMAKE_CXX_STANDARD 20) -enable_testing() +# set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/./tmp/install) +# set(CMAKE_CXX_FLAGS "-fuse-ld=lld-15 ${CMAKE_CXX_FLAGS} -gdwarf-4 ") +# add_compile_definitions(MEM_DEBUG) -project(Types) +project(ModulesRoot) -add_compile_definitions(MEM_DEBUG) - -set(EXTERNALS ../Externals) +include(CMakeOptions.txt) add_subdirectory(Modules) add_subdirectory(Utils) diff --git a/CMakeOptions.txt b/CMakeOptions.txt new file mode 100644 index 0000000..49ea8a1 --- /dev/null +++ b/CMakeOptions.txt @@ -0,0 +1,7 @@ +option(MODULES_MEMORY_DEBUG "Debug memory" OFF) + +if (MODULES_MEMORY_DEBUG) + add_compile_definitions(MEM_DEBUG) +endif () + +enable_testing() \ No newline at end of file diff --git a/CommandLine/CMakeLists.txt b/CommandLine/CMakeLists.txt index eaf3fc7..eab6246 100644 --- a/CommandLine/CMakeLists.txt +++ b/CommandLine/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(CommandLine) ### ---------------------- Static Library --------------------- ### @@ -16,7 +11,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Tokenizer Connection) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Connection/CMakeLists.txt b/Connection/CMakeLists.txt index cd1102d..29ad423 100644 --- a/Connection/CMakeLists.txt +++ b/Connection/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Connection) set(BINDINGS_INCLUDE ./../Externals/asio/asio/include) @@ -19,7 +14,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Strings) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Containers/CMakeLists.txt b/Containers/CMakeLists.txt index add28f5..1106e89 100644 --- a/Containers/CMakeLists.txt +++ b/Containers/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Containers) ### ---------------------- Static Library --------------------- ### @@ -16,7 +11,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Modules) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Allocators) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Allocators) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/DataAnalysis/CMakeLists.txt b/DataAnalysis/CMakeLists.txt index 94c8d42..c777b8e 100644 --- a/DataAnalysis/CMakeLists.txt +++ b/DataAnalysis/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(DataAnalysis) ### ---------------------- Externals --------------------- ### @@ -35,5 +30,3 @@ target_include_directories(${PROJECT_NAME}Tests PUBLIC ./applications/) target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) diff --git a/Graphics/CMakeLists.txt b/Graphics/CMakeLists.txt index 73c6d45..221b49f 100644 --- a/Graphics/CMakeLists.txt +++ b/Graphics/CMakeLists.txt @@ -1,12 +1,7 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Graphics) ### ---------------------- Externals --------------------- ### -set(BINDINGS_INCLUDE ${EXTERNALS}/glfw/include ${EXTERNALS}/glew/include) +set(BINDINGS_INCLUDE ../Externals/glfw/include ../Externals/glew/include) set(BINDINGS_LIBS glfw glew_s Imgui Nanovg) @@ -28,7 +23,5 @@ target_include_directories(${PROJECT_NAME}Example PRIVATE ${BINDINGS_INCLUDE}) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Math/CMakeLists.txt b/Math/CMakeLists.txt index abe8459..e86d6b4 100644 --- a/Math/CMakeLists.txt +++ b/Math/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Math) ### ---------------------- Static Library --------------------- ### @@ -16,7 +11,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Utils) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Modules/CMakeLists.txt b/Modules/CMakeLists.txt index 519f53f..ad26c74 100644 --- a/Modules/CMakeLists.txt +++ b/Modules/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Modules) ### ---------------------- Static Library --------------------- ### @@ -14,8 +9,5 @@ target_include_directories(${PROJECT_NAME} PUBLIC ./public/) enable_testing() file(GLOB SOURCES_TEST "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${SOURCES_TEST}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME}) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Objects/CMakeLists.txt b/Objects/CMakeLists.txt index 893056a..6c2f4d9 100644 --- a/Objects/CMakeLists.txt +++ b/Objects/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Objects) ### ---------------------- Static Library --------------------- ### @@ -27,7 +22,5 @@ target_link_libraries(osg ${PROJECT_NAME} Graphics Imgui) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp" "./tests/*/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Parser/CMakeLists.txt b/Parser/CMakeLists.txt index eda4fcc..7771365 100644 --- a/Parser/CMakeLists.txt +++ b/Parser/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Parser) ### ---------------------- Static Library --------------------- ### @@ -13,7 +8,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC ./public/) target_link_libraries(${PROJECT_NAME} PUBLIC Tokenizer) ### -------------------------- Applications -------------------------- ### -add_executable(cfg ./applications/Cfg.cpp ) +add_executable(cfg ./applications/Cfg.cpp) target_link_libraries(cfg ${PROJECT_NAME} CommandLine) configure_file(rsc/grammar.txt grammar.txt COPYONLY) @@ -22,7 +17,5 @@ configure_file(rsc/grammar.txt grammar.txt COPYONLY) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/RayTracer/CMakeLists.txt b/RayTracer/CMakeLists.txt index 3877fda..d576294 100644 --- a/RayTracer/CMakeLists.txt +++ b/RayTracer/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(RayTracer) ### ---------------------- Static Library --------------------- ### @@ -31,5 +26,3 @@ target_include_directories(${PROJECT_NAME}Tests PUBLIC ./applications/) target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils ImageIO) add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) diff --git a/Strings/CMakeLists.txt b/Strings/CMakeLists.txt index e50501e..0cc6b82 100644 --- a/Strings/CMakeLists.txt +++ b/Strings/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Strings) ### ---------------------- Static Library --------------------- ### @@ -16,7 +11,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Allocators Containers) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Tokenizer/CMakeLists.txt b/Tokenizer/CMakeLists.txt index d66f8a2..ec3294c 100644 --- a/Tokenizer/CMakeLists.txt +++ b/Tokenizer/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Tokenizer) ### ---------------------- Static Library --------------------- ### @@ -16,7 +11,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Strings) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME} Utils) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file diff --git a/Utils/CMakeLists.txt b/Utils/CMakeLists.txt index 5651c5d..0ad7e36 100644 --- a/Utils/CMakeLists.txt +++ b/Utils/CMakeLists.txt @@ -1,8 +1,3 @@ - -cmake_minimum_required(VERSION 3.2) - -set(CMAKE_CXX_STANDARD 23) - project(Utils) ### ---------------------- Static Library --------------------- ### @@ -17,8 +12,5 @@ target_link_libraries(${PROJECT_NAME} PUBLIC Containers) enable_testing() file(GLOB TEST_SOURCES "./tests/*.cpp") add_executable(${PROJECT_NAME}Tests ${TEST_SOURCES}) -target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) - - -install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib) \ No newline at end of file +target_link_libraries(${PROJECT_NAME}Tests ${PROJECT_NAME}) +add_test(NAME ${PROJECT_NAME}Tests COMMAND ${PROJECT_NAME}Tests) \ No newline at end of file