/
oop_nust_misis
/
complex-forthang
Обзор
Документация
Войти
/
oop_nust_misis
/
complex-forthang
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
patch
CMakeLists.txt
49 строк
1 KB
OOP Nust MISIS
Initial commit
27 мар 2025, 16:19
27 мар 2025, 16:19
ba771aa
Код
Авторство
О чём код?
cmake_minimum_required(VERSION 3.10) project(MyCppProject LANGUAGES CXX) # Enable C++23 features set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Platform-agnostic shared library configuration option(BUILD_SHARED_LIBS "Build shared library" ON) # Enable testing enable_testing() # Configure shared library add_library(MyLibrary SHARED src/library.cpp include/library.hpp ) # Public headers location target_include_directories(MyLibrary PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include> ) # Platform-specific settings if(MSVC) target_compile_options(MyLibrary PRIVATE /W4 /WX) else() target_compile_options(MyLibrary PRIVATE -Wall -Wextra -Wpedantic -Werror) target_compile_options(MyLibrary PRIVATE -fPIC) # Needed for shared libs on Unix endif() # Configure tests find_package(GTest REQUIRED) add_executable(MyLibraryTests tests/test_basic.cpp ) target_link_libraries(MyLibraryTests PRIVATE MyLibrary GTest::GTest ) # Enable CTest integration add_test(NAME MyLibraryTests COMMAND MyLibraryTests)