@@ -5,36 +5,43 @@ set(BUILD_SHARED_LIBS OFF)
5
5
6
6
project (world-clock )
7
7
8
+ add_subdirectory (ext/pini )
8
9
add_subdirectory (ext/sfml )
9
10
10
11
set (CMAKE_BUILD_TYPE Debug CACHE STRING "" )
11
12
if ("${CMAKE_BUILD_TYPE} " STREQUAL "Debug" )
12
- message (STATUS "Exporting compile_commands.json" )
13
- set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
13
+ message (STATUS "Exporting compile_commands.json" )
14
+ set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
14
15
endif ()
15
16
16
17
# git
17
18
find_package (Git QUIET )
18
19
if (GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR} /.git" )
19
- message (STATUS "Updating git submodules..." )
20
- execute_process (COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
21
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR} "
22
- RESULT_VARIABLE UPDATE_SUBMODULES_RESULT
23
- )
24
- if (NOT UPDATE_SUBMODULES_RESULT EQUAL "0" )
25
- message (FATAL_ERROR "git submodule update failed!" )
26
- endif ()
20
+ message (STATUS "Updating git submodules..." )
21
+ execute_process (COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
22
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR} "
23
+ RESULT_VARIABLE UPDATE_SUBMODULES_RESULT
24
+ )
25
+ if (NOT UPDATE_SUBMODULES_RESULT EQUAL "0" )
26
+ message (FATAL_ERROR "git submodule update failed!" )
27
+ endif ()
27
28
endif ()
28
29
29
30
# exe
30
31
file (GLOB_RECURSE SOURCES CONFIGURE_DEPENDS "src/*.?pp" )
31
32
add_executable (${PROJECT_NAME} ${SOURCES} )
32
- target_include_directories (${PROJECT_NAME} PRIVATE src )
33
- target_link_libraries (${PROJECT_NAME} PRIVATE sfml-graphics )
33
+ target_include_directories (${PROJECT_NAME} PRIVATE src ext/pini )
34
+ target_link_libraries (${PROJECT_NAME} PRIVATE sfml-graphics pini::pini )
34
35
target_compile_features (${PROJECT_NAME} PRIVATE cxx_std_20 )
35
36
36
37
if (CMAKE_CXX_COMPILER_ID STREQUAL MSVC )
37
38
target_compile_options (${PROJECT_NAME} PRIVATE /MP $< $< NOT:$< CONFIG:Debug> > :/WX> )
38
39
elseif (CMAKE_CXX_COMPILER_ID STREQUAL Clang OR CMAKE_CXX_COMPILER_ID STREQUAL GNU )
39
40
target_compile_options (${PROJECT_NAME} PRIVATE -Wall -Wextra $< $< NOT:$< CONFIG:Debug> > :-Werror> )
40
41
endif ()
42
+
43
+ set (CCJSON "${CMAKE_CURRENT_BINARY_DIR} /compile_commands.json" )
44
+ if (EXISTS "${CCJSON} " )
45
+ message (STATUS "Copying ${CCJSON} to project root" )
46
+ file (COPY "${CCJSON} " DESTINATION "${PROJECT_SOURCE_DIR} " )
47
+ endif ()
0 commit comments