2021-09-12 23:48:01 -04:00
|
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
|
|
|
|
project(Rebuilder LANGUAGES CXX)
|
|
|
|
|
|
|
|
set(CMAKE_MFC_FLAG 2)
|
2021-09-18 17:28:15 -04:00
|
|
|
add_compile_definitions(_AFXDLL)
|
2021-09-12 23:48:01 -04:00
|
|
|
|
2021-09-13 01:02:09 -04:00
|
|
|
option(BUILD_UNICODE "Build with Unicode support" ON)
|
|
|
|
|
2021-09-18 17:28:15 -04:00
|
|
|
#
|
|
|
|
# Build our code injected DLL
|
|
|
|
#
|
|
|
|
add_library(Rebld SHARED
|
|
|
|
lib/dllmain.cpp
|
|
|
|
lib/hooks.cpp
|
|
|
|
lib/hooks.h
|
|
|
|
lib/mmpassthru.cpp
|
|
|
|
lib/util.cpp
|
|
|
|
lib/util.h
|
|
|
|
lib/worker.cpp
|
|
|
|
lib/worker.h
|
|
|
|
)
|
2021-09-18 22:06:22 -04:00
|
|
|
target_compile_options(Rebld PRIVATE /MT)
|
2021-09-18 17:28:15 -04:00
|
|
|
target_link_libraries(Rebld PRIVATE winmm.lib)
|
|
|
|
|
2021-09-18 22:05:41 -04:00
|
|
|
# Add property grid
|
|
|
|
set(PROPERTYGRID_BUILD_APP OFF CACHE BOOL "")
|
|
|
|
add_subdirectory(ext/PropertyGrid)
|
|
|
|
|
2021-09-18 17:28:15 -04:00
|
|
|
#
|
|
|
|
# Build launcher/configuration executable
|
|
|
|
#
|
2021-09-12 23:48:01 -04:00
|
|
|
add_executable(Rebuilder WIN32
|
2021-09-13 01:43:18 -04:00
|
|
|
res/res.rc
|
2021-09-18 17:28:15 -04:00
|
|
|
res/resource.h
|
2021-09-12 23:48:01 -04:00
|
|
|
src/app.cpp
|
|
|
|
src/app.h
|
2021-09-18 17:28:15 -04:00
|
|
|
src/clinkstatic.cpp
|
|
|
|
src/clinkstatic.h
|
2021-09-13 06:58:22 -04:00
|
|
|
src/launcher.cpp
|
|
|
|
src/launcher.h
|
2021-09-18 22:05:41 -04:00
|
|
|
src/patchgrid.cpp
|
|
|
|
src/patchgrid.h
|
2021-09-12 23:48:01 -04:00
|
|
|
src/window.cpp
|
|
|
|
src/window.h
|
|
|
|
)
|
2021-09-13 01:02:09 -04:00
|
|
|
|
|
|
|
if (BUILD_UNICODE)
|
|
|
|
target_compile_definitions(Rebuilder PRIVATE UNICODE _UNICODE)
|
2021-09-18 17:28:15 -04:00
|
|
|
target_compile_definitions(Rebld PRIVATE UNICODE _UNICODE)
|
2021-09-13 01:02:09 -04:00
|
|
|
target_link_options(Rebuilder PRIVATE /entry:wWinMainCRTStartup)
|
|
|
|
endif()
|
2021-09-13 06:58:22 -04:00
|
|
|
|
2021-09-18 22:05:41 -04:00
|
|
|
target_link_libraries(Rebuilder PRIVATE shlwapi.lib PropertyGrid)
|
2021-09-18 17:28:15 -04:00
|
|
|
|
|
|
|
# Ensure DLL is compiled before resource is built into executable
|
|
|
|
set_source_files_properties(res/res.rc PROPERTIES OBJECT_DEPENDS Rebld)
|