2023-12-20 05:47:04 -05:00
|
|
|
cmake_minimum_required(VERSION 3.21)
|
2022-07-30 12:24:03 -04:00
|
|
|
|
2022-10-08 05:41:36 -04:00
|
|
|
add_library(ProxyLoader SHARED proxyLoader.c)
|
2022-12-13 02:24:03 -05:00
|
|
|
target_compile_features(ProxyLoader PUBLIC cxx_std_17)
|
2022-10-08 05:41:36 -04:00
|
|
|
set_target_properties(ProxyLoader PROPERTIES
|
2023-08-01 14:57:01 -04:00
|
|
|
PREFIX ""
|
2022-07-30 12:24:03 -04:00
|
|
|
OUTPUT_NAME "XInput9_1_0"
|
2022-10-08 06:26:45 -04:00
|
|
|
LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${GEODE_BIN_PATH}/nightly"
|
|
|
|
RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${GEODE_BIN_PATH}/nightly"
|
|
|
|
LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GEODE_BIN_PATH}/nightly"
|
|
|
|
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${GEODE_BIN_PATH}/nightly"
|
|
|
|
LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${GEODE_BIN_PATH}/nightly"
|
|
|
|
RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL "${GEODE_BIN_PATH}/nightly"
|
|
|
|
LIBRARY_OUTPUT_DIRECTORY "${GEODE_BIN_PATH}/nightly"
|
|
|
|
RUNTIME_OUTPUT_DIRECTORY "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY "${GEODE_BIN_PATH}/nightly"
|
2022-07-30 12:24:03 -04:00
|
|
|
)
|
2023-06-09 08:39:35 -04:00
|
|
|
add_library(fake-geode-loader SHARED fakeGeode.c)
|
|
|
|
set_target_properties(fake-geode-loader PROPERTIES OUTPUT_NAME "Geode")
|
|
|
|
target_link_libraries(ProxyLoader PRIVATE fake-geode-loader)
|
2022-07-30 12:24:03 -04:00
|
|
|
|
2023-06-09 08:39:35 -04:00
|
|
|
add_executable(Updater Updater.cpp)
|
|
|
|
target_compile_features(Updater PUBLIC cxx_std_17)
|
|
|
|
set_target_properties(Updater PROPERTIES
|
2023-08-01 14:57:01 -04:00
|
|
|
PREFIX ""
|
2023-06-09 08:39:35 -04:00
|
|
|
OUTPUT_NAME "GeodeUpdater"
|
2022-10-08 05:58:58 -04:00
|
|
|
RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${GEODE_BIN_PATH}/nightly"
|
2023-06-09 08:54:37 -04:00
|
|
|
LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${GEODE_BIN_PATH}/nightly"
|
|
|
|
LIBRARY_OUTPUT_DIRECTORY_RELEASE "${GEODE_BIN_PATH}/nightly"
|
2022-10-08 05:58:58 -04:00
|
|
|
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${GEODE_BIN_PATH}/nightly"
|
2023-06-09 08:54:37 -04:00
|
|
|
LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${GEODE_BIN_PATH}/nightly"
|
2022-10-08 05:58:58 -04:00
|
|
|
RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL "${GEODE_BIN_PATH}/nightly"
|
2023-06-09 08:54:37 -04:00
|
|
|
LIBRARY_OUTPUT_DIRECTORY "${GEODE_BIN_PATH}/nightly"
|
2022-10-08 05:58:58 -04:00
|
|
|
RUNTIME_OUTPUT_DIRECTORY "${GEODE_BIN_PATH}/nightly"
|
|
|
|
ARCHIVE_OUTPUT_DIRECTORY "${GEODE_BIN_PATH}/nightly"
|
2022-09-03 14:52:59 -04:00
|
|
|
)
|
2023-06-09 08:39:35 -04:00
|
|
|
target_link_libraries(Updater PUBLIC ghc_filesystem)
|
2023-08-01 14:57:01 -04:00
|
|
|
|
|
|
|
if (MSVC)
|
2023-08-02 10:34:36 -04:00
|
|
|
include(CheckLinkerFlag)
|
|
|
|
check_linker_flag(CXX /NOEXP SUPPORTS_NOEXP)
|
|
|
|
if (SUPPORTS_NOEXP)
|
|
|
|
target_link_options(fake-geode-loader PRIVATE /NOEXP)
|
|
|
|
target_link_options(ProxyLoader PRIVATE /NOEXP)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
target_link_options(fake-geode-loader PRIVATE /DEBUG:NONE)
|
|
|
|
target_link_options(ProxyLoader PRIVATE /NOIMPLIB /DEBUG:NONE)
|
2023-08-01 14:57:01 -04:00
|
|
|
target_link_options(Updater PRIVATE /DEBUG:NONE)
|
2023-08-02 10:34:36 -04:00
|
|
|
|
2023-08-01 19:06:20 -04:00
|
|
|
if (DEFINED ENV{GEODE_CI})
|
|
|
|
target_link_options(fake-geode-loader PRIVATE /INCREMENTAL:NO)
|
|
|
|
target_link_options(ProxyLoader PRIVATE /INCREMENTAL:NO)
|
|
|
|
target_link_options(Updater PRIVATE /INCREMENTAL:NO)
|
|
|
|
endif()
|
2023-08-01 14:57:01 -04:00
|
|
|
endif()
|