mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-02-03 12:31:15 +00:00
🎨 fix: cmakelists formatting
This commit is contained in:
parent
4a1a3eef52
commit
467ff1cf20
@ -52,6 +52,7 @@ set(ISLE_EMSCRIPTEN_HOST "" CACHE STRING "Host URL for Emscripten streaming (e.g
|
|||||||
cmake_dependent_option(BUILD_SHARED_LIBS "Build lego1 as a shared library" ON "NOT EMSCRIPTEN" OFF)
|
cmake_dependent_option(BUILD_SHARED_LIBS "Build lego1 as a shared library" ON "NOT EMSCRIPTEN" OFF)
|
||||||
|
|
||||||
message(STATUS "Isle app: ${ISLE_BUILD_APP}")
|
message(STATUS "Isle app: ${ISLE_BUILD_APP}")
|
||||||
|
message(STATUS "Config app: ${ISLE_BUILD_CONFIG}")
|
||||||
message(STATUS "Internal DirectX5 SDK: ${ISLE_USE_DX5}")
|
message(STATUS "Internal DirectX5 SDK: ${ISLE_USE_DX5}")
|
||||||
message(STATUS "Internal miniwin: ${ISLE_MINIWIN}")
|
message(STATUS "Internal miniwin: ${ISLE_MINIWIN}")
|
||||||
message(STATUS "Isle debugging: ${ISLE_DEBUG}")
|
message(STATUS "Isle debugging: ${ISLE_DEBUG}")
|
||||||
@ -103,7 +104,6 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
if (ENABLE_CLANG_TIDY)
|
if (ENABLE_CLANG_TIDY)
|
||||||
find_program(CLANG_TIDY_BIN NAMES "clang-tidy" ENV "LLVM_ROOT" REQUIRED)
|
find_program(CLANG_TIDY_BIN NAMES "clang-tidy" ENV "LLVM_ROOT" REQUIRED)
|
||||||
set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_BIN}")
|
set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_BIN}")
|
||||||
@ -130,18 +130,15 @@ function(add_cxx_warning WARNING)
|
|||||||
else()
|
else()
|
||||||
set(compiler_option "-W${WARNING}")
|
set(compiler_option "-W${WARNING}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
string(MAKE_C_IDENTIFIER "COMPILER_SUPPORTS${compiler_option}" varname)
|
string(MAKE_C_IDENTIFIER "COMPILER_SUPPORTS${compiler_option}" varname)
|
||||||
|
|
||||||
cmake_push_check_state(RESET)
|
cmake_push_check_state(RESET)
|
||||||
set(CMAKE_REQUIRED_FLAGS "${compiler_option} ")
|
set(CMAKE_REQUIRED_FLAGS "${compiler_option} ")
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
string(APPEND CMAKE_REQUIRED_FLAGS "/WX")
|
string(APPEND CMAKE_REQUIRED_FLAGS "/WX")
|
||||||
else()
|
else()
|
||||||
string(APPEND CMAKE_REQUIRED_FLAGS "-Werror")
|
string(APPEND CMAKE_REQUIRED_FLAGS "-Werror")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
check_cxx_source_compiles("int main() { return 0; }" ${varname})
|
check_cxx_source_compiles("int main() { return 0; }" ${varname})
|
||||||
cmake_pop_check_state()
|
cmake_pop_check_state()
|
||||||
|
|
||||||
@ -175,7 +172,6 @@ target_include_directories(lego1 PUBLIC "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/L
|
|||||||
target_link_libraries(lego1 PRIVATE SDL3::SDL3)
|
target_link_libraries(lego1 PRIVATE SDL3::SDL3)
|
||||||
target_link_libraries(lego1 PUBLIC SDL3::Headers)
|
target_link_libraries(lego1 PUBLIC SDL3::Headers)
|
||||||
target_link_libraries(lego1 PRIVATE $<$<BOOL:${ISLE_USE_DX5}>:DirectX5::DirectX5>)
|
target_link_libraries(lego1 PRIVATE $<$<BOOL:${ISLE_USE_DX5}>:DirectX5::DirectX5>)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set_property(TARGET lego1 PROPERTY PREFIX "")
|
set_property(TARGET lego1 PROPERTY PREFIX "")
|
||||||
endif()
|
endif()
|
||||||
@ -224,7 +220,6 @@ target_sources(lego1 PRIVATE
|
|||||||
LEGO1/mxdirectx/legodxinfo.cpp
|
LEGO1/mxdirectx/legodxinfo.cpp
|
||||||
)
|
)
|
||||||
target_include_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/LEGO1")
|
target_include_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/LEGO1")
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
target_link_libraries(lego1 PRIVATE ddraw)
|
target_link_libraries(lego1 PRIVATE ddraw)
|
||||||
endif()
|
endif()
|
||||||
@ -362,11 +357,9 @@ target_sources(lego1 PRIVATE
|
|||||||
LEGO1/omni/src/video/mxvideopresenter.cpp
|
LEGO1/omni/src/video/mxvideopresenter.cpp
|
||||||
)
|
)
|
||||||
target_include_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/LEGO1/omni/include" "${CMAKE_SOURCE_DIR}/LEGO1")
|
target_include_directories(lego1 PRIVATE "${CMAKE_SOURCE_DIR}/LEGO1/omni/include" "${CMAKE_SOURCE_DIR}/LEGO1")
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
target_link_libraries(lego1 INTERFACE winmm)
|
target_link_libraries(lego1 INTERFACE winmm)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(lego1 PRIVATE libsmacker miniaudio)
|
target_link_libraries(lego1 PRIVATE libsmacker miniaudio)
|
||||||
target_include_directories(lego1 PUBLIC $<BUILD_INTERFACE:$<TARGET_PROPERTY:miniaudio,INTERFACE_INCLUDE_DIRECTORIES>>)
|
target_include_directories(lego1 PUBLIC $<BUILD_INTERFACE:$<TARGET_PROPERTY:miniaudio,INTERFACE_INCLUDE_DIRECTORIES>>)
|
||||||
|
|
||||||
@ -483,7 +476,6 @@ target_sources(lego1 PRIVATE
|
|||||||
LEGO1/modeldb/modeldb.cpp
|
LEGO1/modeldb/modeldb.cpp
|
||||||
)
|
)
|
||||||
target_link_libraries(lego1 PRIVATE Vec::Vec)
|
target_link_libraries(lego1 PRIVATE Vec::Vec)
|
||||||
|
|
||||||
if (NOT ISLE_MINIWIN)
|
if (NOT ISLE_MINIWIN)
|
||||||
target_link_libraries(lego1 PRIVATE d3drm dxguid)
|
target_link_libraries(lego1 PRIVATE d3drm dxguid)
|
||||||
target_compile_definitions(lego1 PRIVATE DIRECTINPUT_VERSION=0x0500)
|
target_compile_definitions(lego1 PRIVATE DIRECTINPUT_VERSION=0x0500)
|
||||||
@ -496,7 +488,6 @@ if(ISLE_BUILD_APP)
|
|||||||
ISLE/islefiles.cpp
|
ISLE/islefiles.cpp
|
||||||
)
|
)
|
||||||
list(APPEND isle_targets isle)
|
list(APPEND isle_targets isle)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
add_custom_command(TARGET isle POST_BUILD
|
add_custom_command(TARGET isle POST_BUILD
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy $<TARGET_RUNTIME_DLLS:isle> "$<TARGET_FILE_DIR:isle>"
|
COMMAND "${CMAKE_COMMAND}" -E copy $<TARGET_RUNTIME_DLLS:isle> "$<TARGET_FILE_DIR:isle>"
|
||||||
@ -519,10 +510,8 @@ if(ISLE_BUILD_APP)
|
|||||||
if (WIN32)
|
if (WIN32)
|
||||||
target_link_libraries(isle PRIVATE winmm)
|
target_link_libraries(isle PRIVATE winmm)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Link LEGO1
|
# Link LEGO1
|
||||||
target_link_libraries(isle PRIVATE lego1)
|
target_link_libraries(isle PRIVATE lego1)
|
||||||
|
|
||||||
if(ISLE_DEBUG)
|
if(ISLE_DEBUG)
|
||||||
target_sources(isle PRIVATE
|
target_sources(isle PRIVATE
|
||||||
ISLE/isledebug.cpp
|
ISLE/isledebug.cpp
|
||||||
@ -530,7 +519,6 @@ if(ISLE_BUILD_APP)
|
|||||||
target_compile_definitions(isle PRIVATE ISLE_DEBUG)
|
target_compile_definitions(isle PRIVATE ISLE_DEBUG)
|
||||||
target_link_libraries(isle PRIVATE imgui)
|
target_link_libraries(isle PRIVATE imgui)
|
||||||
find_path(valgrind_INCLUDE_PATH NAMES valgrind/callgrind.h)
|
find_path(valgrind_INCLUDE_PATH NAMES valgrind/callgrind.h)
|
||||||
|
|
||||||
if(valgrind_INCLUDE_PATH)
|
if(valgrind_INCLUDE_PATH)
|
||||||
# Run isle under valgrind to create a profile. Use e.g. kcachegrind to view the profile.
|
# Run isle under valgrind to create a profile. Use e.g. kcachegrind to view the profile.
|
||||||
# > valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes \
|
# > valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes \
|
||||||
@ -539,7 +527,6 @@ if(ISLE_BUILD_APP)
|
|||||||
target_include_directories(isle PRIVATE ${valgrind_INCLUDE_PATH})
|
target_include_directories(isle PRIVATE ${valgrind_INCLUDE_PATH})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(EMSCRIPTEN)
|
if(EMSCRIPTEN)
|
||||||
target_sources(isle PRIVATE
|
target_sources(isle PRIVATE
|
||||||
ISLE/emscripten/events.cpp
|
ISLE/emscripten/events.cpp
|
||||||
@ -564,7 +551,6 @@ if(ISLE_BUILD_APP)
|
|||||||
set_source_files_properties(${ISLE_CURSORS} PROPERTIES
|
set_source_files_properties(${ISLE_CURSORS} PROPERTIES
|
||||||
VS_DEPLOYMENT_CONTENT 1
|
VS_DEPLOYMENT_CONTENT 1
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(isle PRIVATE ${ISLE_CURSORS})
|
target_sources(isle PRIVATE ${ISLE_CURSORS})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
@ -608,32 +594,25 @@ endif()
|
|||||||
if (MSVC)
|
if (MSVC)
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "15")
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "15")
|
||||||
set_property(TARGET ${isle_targets} APPEND PROPERTY COMPILE_DEFINITIONS "_CRT_SECURE_NO_WARNINGS")
|
set_property(TARGET ${isle_targets} APPEND PROPERTY COMPILE_DEFINITIONS "_CRT_SECURE_NO_WARNINGS")
|
||||||
|
|
||||||
if (TARGET isle)
|
if (TARGET isle)
|
||||||
target_compile_definitions(isle PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
target_compile_definitions(isle PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (TARGET isle-config)
|
if (TARGET isle-config)
|
||||||
target_compile_definitions(isle-config PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
target_compile_definitions(isle-config PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (TARGET iniparser-static)
|
if (TARGET iniparser-static)
|
||||||
target_compile_definitions(iniparser-static PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
target_compile_definitions(iniparser-static PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (TARGET libsmacker)
|
if (TARGET libsmacker)
|
||||||
target_compile_definitions(libsmacker PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
target_compile_definitions(libsmacker PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Visual Studio 2017 version 15.7 needs "/Zc:__cplusplus" for __cplusplus
|
# Visual Studio 2017 version 15.7 needs "/Zc:__cplusplus" for __cplusplus
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.14.26428")
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.14.26428")
|
||||||
set_property(TARGET ${isle_targets} APPEND PROPERTY COMPILE_OPTIONS "-Zc:__cplusplus")
|
set_property(TARGET ${isle_targets} APPEND PROPERTY COMPILE_OPTIONS "-Zc:__cplusplus")
|
||||||
|
|
||||||
if (TARGET isle)
|
if (TARGET isle)
|
||||||
target_compile_options(isle PRIVATE "-Zc:__cplusplus")
|
target_compile_options(isle PRIVATE "-Zc:__cplusplus")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (TARGET isle-config)
|
if (TARGET isle-config)
|
||||||
target_compile_options(isle-config PRIVATE "-Zc:__cplusplus")
|
target_compile_options(isle-config PRIVATE "-Zc:__cplusplus")
|
||||||
endif()
|
endif()
|
||||||
@ -646,18 +625,15 @@ if(MSVC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_program(CLANGFORMAT_BIN NAMES clang-format)
|
find_program(CLANGFORMAT_BIN NAMES clang-format)
|
||||||
|
|
||||||
if (EXISTS "${CLANGFORMAT_BIN}")
|
if (EXISTS "${CLANGFORMAT_BIN}")
|
||||||
execute_process(COMMAND "${CLANGFORMAT_BIN}" --version
|
execute_process(COMMAND "${CLANGFORMAT_BIN}" --version
|
||||||
OUTPUT_VARIABLE "CLANGFORMAT_VERSION_OUTPUT"
|
OUTPUT_VARIABLE "CLANGFORMAT_VERSION_OUTPUT"
|
||||||
RESULT_VARIABLE "CLANGFORMAT_RESULT"
|
RESULT_VARIABLE "CLANGFORMAT_RESULT"
|
||||||
)
|
)
|
||||||
|
|
||||||
if (CLANGFORMAT_RESULT EQUAL 0 AND CLANGFORMAT_VERSION_OUTPUT MATCHES "version ([0-9\\.]+)")
|
if (CLANGFORMAT_RESULT EQUAL 0 AND CLANGFORMAT_VERSION_OUTPUT MATCHES "version ([0-9\\.]+)")
|
||||||
set(CLANGFORMAT_VERSION "${CMAKE_MATCH_1}")
|
set(CLANGFORMAT_VERSION "${CMAKE_MATCH_1}")
|
||||||
set(CLANGFORMAT_VERSION_REQUIRED "17.0")
|
set(CLANGFORMAT_VERSION_REQUIRED "17.0")
|
||||||
message(DEBUG "Found clang-format version ${CLANGFORMAT_VERSION} (needs ${CLANGFORMAT_VERSION_REQUIRED}")
|
message(DEBUG "Found clang-format version ${CLANGFORMAT_VERSION} (needs ${CLANGFORMAT_VERSION_REQUIRED}")
|
||||||
|
|
||||||
if (CLANGFORMAT_VERSION VERSION_GREATER_EQUAL "${CLANGFORMAT_VERSION_REQUIRED}")
|
if (CLANGFORMAT_VERSION VERSION_GREATER_EQUAL "${CLANGFORMAT_VERSION_REQUIRED}")
|
||||||
file(GLOB_RECURSE isle_sources
|
file(GLOB_RECURSE isle_sources
|
||||||
"${PROJECT_SOURCE_DIR}/ISLE/*.cpp"
|
"${PROJECT_SOURCE_DIR}/ISLE/*.cpp"
|
||||||
@ -673,10 +649,8 @@ if(EXISTS "${CLANGFORMAT_BIN}")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(install_extra_targets)
|
set(install_extra_targets)
|
||||||
|
|
||||||
if(DOWNLOAD_DEPENDENCIES)
|
if(DOWNLOAD_DEPENDENCIES)
|
||||||
get_property(sdl3_type TARGET SDL3::SDL3 PROPERTY TYPE)
|
get_property(sdl3_type TARGET SDL3::SDL3 PROPERTY TYPE)
|
||||||
|
|
||||||
if(sdl3_type STREQUAL "SHARED_LIBRARY")
|
if(sdl3_type STREQUAL "SHARED_LIBRARY")
|
||||||
list(APPEND install_extra_targets "SDL3-shared")
|
list(APPEND install_extra_targets "SDL3-shared")
|
||||||
endif()
|
endif()
|
||||||
@ -695,12 +669,15 @@ set(ISLE_PACKAGE_NAME "${CMAKE_SYSTEM_NAME}-${ISLE_CPUS_STRING}" CACHE STRING "P
|
|||||||
if(BUILD_SHARED_LIBS)
|
if(BUILD_SHARED_LIBS)
|
||||||
list(APPEND install_extra_targets lego1)
|
list(APPEND install_extra_targets lego1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS isle ${install_extra_targets}
|
install(TARGETS isle ${install_extra_targets}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
)
|
)
|
||||||
|
if (ISLE_BUILD_CONFIG)
|
||||||
|
install(TARGETS isle-config
|
||||||
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
if(EMSCRIPTEN)
|
if(EMSCRIPTEN)
|
||||||
install(FILES "$<TARGET_FILE_DIR:isle>/isle.js" "$<TARGET_FILE_DIR:isle>/isle.wasm"
|
install(FILES "$<TARGET_FILE_DIR:isle>/isle.js" "$<TARGET_FILE_DIR:isle>/isle.wasm"
|
||||||
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user