reman3/game_re/CMakeLists.txt

51 lines
1.3 KiB
CMake

# Build for 32-bit compatibility
add_compile_options(-m32)
add_link_options(-m32)
add_subdirectory(third_party/spdlog)
add_executable(game_re
main.cpp
gh_global.cxx
binders/gh_static_mem.cxx)
target_compile_features(game_re PUBLIC cxx_std_20)
target_include_directories(game_re PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/binders)
if(WIN32)
target_link_directories(game_re PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/mssdk/lib)
target_include_directories(game_re SYSTEM AFTER PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/mssdk/include)
target_link_libraries(game_re PRIVATE
d3d8
dinput8
)
endif()
target_compile_definitions(game_re PRIVATE
_CRT_SECURE_NO_WARNINGS=1
_CRT_NONSTDC_NO_WARNINGS=1)
target_link_libraries(game_re PRIVATE spdlog)
file(GLOB GH_AUTO_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/gh_auto/*.cxx)
file(GLOB GH_FIX_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/gh_fix/*.cxx)
target_sources(game_re PRIVATE
${GH_AUTO_SOURCES}
${GH_FIX_SOURCES}
)
# Ignore -Wformat-security
target_compile_options(game_re PRIVATE -Wno-format-security)
# Automatically re-run CMake if any gh_*.cxx files change
# due to ghidra script runs
set_property(
DIRECTORY
APPEND
PROPERTY CMAKE_CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gh_cmake_timestamp
)