11cmake_minimum_required (VERSION 3.10 )
22
3+ set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
4+
35project (Lab2QRCode)
46
57set (CMAKE_CXX_STANDARD 20)
@@ -19,7 +21,7 @@ add_custom_target(
1921 COMMAND ${CMAKE_COMMAND} -E echo "Running PowerShell script..."
2022 COMMAND pwsh -ExecutionPolicy Bypass -File ${CMAKE_SOURCE_DIR} /scripts/build/version_info.ps1
2123 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} /src/version_info
22- COMMENT "powershell -ExecutionPolicy Bypass -File ${CMAKE_SOURCE_DIR} /version_info.ps1"
24+ COMMENT "powershell -ExecutionPolicy Bypass -File ${CMAKE_SOURCE_DIR} /scripts/build/ version_info.ps1"
2325 BYPRODUCTS ${VERSION_CPP} )
2426
2527if (MSVC )
@@ -39,7 +41,14 @@ if(NOT XLSXWRITER_INCLUDE_DIR OR NOT XLSXWRITER_LIBRARY)
3941 message (FATAL_ERROR "Could not find xlsxwriter library or include directory" )
4042endif ()
4143
44+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU" )
45+ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Og" )
46+ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og" )
47+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -O0 -Wl,-O0" )
48+ endif ()
49+
4250file (GLOB_RECURSE SOURCES "src/*.cpp" )
51+ list (REMOVE_ITEM SOURCES "${VERSION_CPP} " )
4352
4453add_executable (${PROJECT_NAME} WIN32 ${SOURCES} ${VERSION_CPP} "logo.rc" )
4554add_dependencies (${PROJECT_NAME} RunPowerShellScript )
@@ -57,6 +66,10 @@ target_link_libraries(
5766 Boost::random
5867 spdlog::spdlog_header_only )
5968
69+ if (CMAKE_BUILD_TYPE STREQUAL "Debug" )
70+ target_precompile_headers (${PROJECT_NAME} PRIVATE <spdlog/spdlog.h> )
71+ endif ()
72+
6073target_include_directories (${PROJECT_NAME} PRIVATE ${XLSXWRITER_INCLUDE_DIR} )
6174target_link_libraries (${PROJECT_NAME} PRIVATE ${XLSXWRITER_LIBRARY} )
6275
0 commit comments