Skip to content

Commit 0f8a570

Browse files
committed
fix cmake by dissection frustration
1 parent 1e0e74c commit 0f8a570

File tree

2 files changed

+33
-18
lines changed

2 files changed

+33
-18
lines changed

CMakeLists.txt

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,11 @@ endif()
3131

3232
add_subdirectory(libs/miniz)
3333

34-
set(SOURCES
34+
set(SOURCES_TESTS
3535
test/test.h
36+
)
37+
38+
set(SOURCES_MC
3639
src/main.cpp
3740
src/binary.h
3841
src/gameTree.h
@@ -47,24 +50,17 @@ set(SOURCES
4750
src/Model.cpp
4851
src/Data.h
4952
src/Data.cpp
53+
)
54+
55+
set(SOURCES_VIEW
5056
src/TombRaiderLinuxLauncher.h
5157
src/TombRaiderLinuxLauncher.cpp
5258
src/TombRaiderLinuxLauncher.ui
53-
src/resources.qrc)
54-
55-
if(TEST)
56-
enable_testing(ON)
57-
add_executable(${PROJECT_NAME}Test ${SOURCES})
58-
add_test(NAME ${PROJECT_NAME}Test COMMAND ${PROJECT_NAME}Test)
59-
else()
60-
enable_testing(OFF)
61-
add_executable(${PROJECT_NAME} ${SOURCES})
62-
endif()
59+
src/resources.qrc
60+
)
6361

64-
target_link_libraries(${PROJECT_NAME} PUBLIC
62+
set(LINK_COMMON
6563
Qt5::Core
66-
Qt5::Test
67-
Qt5::Gui
6864
Qt5::Widgets
6965
Qt5::WebEngineWidgets
7066
Qt5::Sql
@@ -75,19 +71,39 @@ target_link_libraries(${PROJECT_NAME} PUBLIC
7571
Boost::filesystem
7672
)
7773

78-
target_include_directories(${PROJECT_NAME} PRIVATE
74+
set(LINK_GUI
75+
Qt5::Gui
76+
)
77+
78+
set(INCLUDE_DIR
7979
${CURL_INCLUDE_DIR}
8080
${Boost_INCLUDE_DIRS}
8181
libs/miniz
8282
src
83-
test
8483
)
8584

86-
set_target_properties(${PROJECT_NAME} PROPERTIES
85+
set(COMPILE_OPT
8786
CXX_STANDARD 17
8887
CXX_STANDARD_REQUIRED ON
8988
)
9089

90+
if(TEST)
91+
enable_testing()
92+
set(SOURCES ${SOURCES_MC} ${SOURCES_TESTS})
93+
add_executable(${PROJECT_NAME}Test ${SOURCES})
94+
add_test(NAME ${PROJECT_NAME}Test COMMAND ${PROJECT_NAME}Test)
95+
target_link_libraries(${PROJECT_NAME}Test PUBLIC ${LINK_COMMON} Qt5::Test)
96+
target_include_directories(${PROJECT_NAME}Test PRIVATE ${INCLUDE_DIR} test)
97+
set_target_properties(${PROJECT_NAME}Test PROPERTIES ${COMPILE_OPT})
98+
target_compile_definitions(${PROJECT_NAME}Test PRIVATE TEST)
99+
else()
100+
set(SOURCES ${SOURCES_MC} ${SOURCES_VIEW})
101+
add_executable(${PROJECT_NAME} ${SOURCES})
102+
target_link_libraries(${PROJECT_NAME} PUBLIC ${LINK_COMMON} ${LINK_GUI})
103+
target_include_directories(${PROJECT_NAME} PRIVATE ${INCLUDE_DIR})
104+
set_target_properties(${PROJECT_NAME} PROPERTIES ${COMPILE_OPT})
105+
endif()
106+
91107
if(NOT TEST)
92108
install(TARGETS ${PROJECT_NAME}
93109
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin

src/main.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ int main(int argc, char *argv[]) {
3434
#include "TombRaiderLinuxLauncher.h"
3535
#include <QApplication>
3636

37-
3837
/**
3938
*
4039
*/

0 commit comments

Comments
 (0)