summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVittorio Romeo <vittorio.romeo@outlook.com>2021-11-12 03:45:35 +0000
committerVittorio Romeo <vittorio.romeo@outlook.com>2021-11-12 03:45:35 +0000
commit477f9562a7dbeed4bbf962c0b667ef90292b35fa (patch)
tree442bca8ea67d97f3ada503bcd568701105cb5981
parent4f23ecab39ae856068d7904409121fd6c69c159b (diff)
CMakeLists refactoring
-rw-r--r--CMakeLists.txt37
1 files changed, 20 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac105e92..89322263 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -317,10 +317,16 @@ vrm_cmake_include_vc_dependency_once(vc_detection)
# Targets
# -----------------------------------------------------------------------------
+if(WIN32 AND "${vrm_cmake_build_type_lower}" STREQUAL "release")
+ set(SSVOH_BUILD_WIN32_CONSOLE TRUE)
+else()
+ set(SSVOH_BUILD_WIN32_CONSOLE FALSE)
+endif()
+
add_library(SSVOpenHexagonLibC STATIC ${C_SRC_LIST})
add_library(SSVOpenHexagonLib STATIC ${SRC_LIST})
-if(WIN32 AND "${vrm_cmake_build_type_lower}" STREQUAL "release")
+if(SSVOH_BUILD_WIN32_CONSOLE)
add_executable(SSVOpenHexagon WIN32 ${MAIN_FILE})
add_executable(SSVOpenHexagon-Console ${MAIN_FILE})
else()
@@ -340,7 +346,7 @@ target_precompile_headers(
target_precompile_headers(SSVOpenHexagon REUSE_FROM SSVOpenHexagonLib)
-if(WIN32 AND "${vrm_cmake_build_type_lower}" STREQUAL "release")
+if(SSVOH_BUILD_WIN32_CONSOLE)
target_precompile_headers(SSVOpenHexagon-Console REUSE_FROM SSVOpenHexagonLib)
endif()
@@ -410,29 +416,26 @@ ssvoh_find_extlib_for_target(SSVOpenHexagonLib SSVStart)
target_link_libraries(SSVOpenHexagon SSVOpenHexagonLib SSVOpenHexagonLibC)
-if(WIN32 AND "${vrm_cmake_build_type_lower}" STREQUAL "release")
+if(SSVOH_BUILD_WIN32_CONSOLE)
target_link_libraries(SSVOpenHexagon "${CMAKE_SOURCE_DIR}/art/icon.res" sfml-main)
target_compile_options(SSVOpenHexagon PRIVATE "-Wl,-subsystem,windows")
target_link_libraries(SSVOpenHexagon-Console SSVOpenHexagonLib SSVOpenHexagonLibC)
endif()
+set(SSVOH_INCLUDE_DIRECTORIES ${SFML_SOURCE_DIR}/include
+ ${PUBLIC_INCLUDE_DIRS}
+ ${zlib_SOURCE_DIR}
+ ${zlib_BINARY_DIR}
+ ${LUASRC}
+ ${imgui_SOURCE_DIR})
+
target_include_directories(
- SSVOpenHexagon SYSTEM PUBLIC ${SFML_SOURCE_DIR}/include
- PUBLIC ${PUBLIC_INCLUDE_DIRS}
- PUBLIC ${zlib_SOURCE_DIR}
- PUBLIC ${zlib_BINARY_DIR}
- PUBLIC ${LUASRC}
- PUBLIC ${imgui_SOURCE_DIR}
+ SSVOpenHexagon SYSTEM PUBLIC ${SSVOH_INCLUDE_DIRECTORIES}
)
-if(WIN32 AND "${vrm_cmake_build_type_lower}" STREQUAL "release")
+if(SSVOH_BUILD_WIN32_CONSOLE)
target_include_directories(
- SSVOpenHexagon-Console SYSTEM PUBLIC ${SFML_SOURCE_DIR}/include
- PUBLIC ${PUBLIC_INCLUDE_DIRS}
- PUBLIC ${zlib_SOURCE_DIR}
- PUBLIC ${zlib_BINARY_DIR}
- PUBLIC ${LUASRC}
- PUBLIC ${imgui_SOURCE_DIR}
+ SSVOpenHexagon-Console SYSTEM PUBLIC ${SSVOH_INCLUDE_DIRECTORIES}
)
endif()
@@ -444,7 +447,7 @@ install(
TARGETS SSVOpenHexagon RUNTIME DESTINATION ${CMAKE_SOURCE_DIR}/_RELEASE/
)
-if(WIN32 AND "${vrm_cmake_build_type_lower}" STREQUAL "release")
+if(SSVOH_BUILD_WIN32_CONSOLE)
install(
TARGETS SSVOpenHexagon-Console RUNTIME DESTINATION ${CMAKE_SOURCE_DIR}/_RELEASE/
)