2019-09-02 20:57:20 +00:00
|
|
|
cmake_minimum_required(VERSION 3.1)
|
|
|
|
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
2019-11-20 19:53:08 +00:00
|
|
|
|
2019-09-02 20:57:20 +00:00
|
|
|
project(ScrapHacks
|
|
|
|
VERSION 1.0
|
|
|
|
DESCRIPTION "Scrapland memory hacking library"
|
|
|
|
LANGUAGES CXX)
|
2019-12-04 00:21:51 +00:00
|
|
|
|
2019-09-02 19:44:17 +00:00
|
|
|
set(CMAKE_BUILD_TYPE "Release")
|
|
|
|
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}")
|
2019-09-01 20:45:07 +00:00
|
|
|
if(WIN32)
|
|
|
|
if(MSVC)
|
2019-09-02 19:44:17 +00:00
|
|
|
# ensure we use minimal "windows.h" lib without the crazy min max macros
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D \"WIN32_LEAN_AND_MEAN\"")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D \"NOMINMAX\"")
|
2019-09-01 20:45:07 +00:00
|
|
|
# disable SAFESEH - to avoid "LNK2026: module unsafe"
|
2019-09-02 19:44:17 +00:00
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D \"SAFESEH:NO\"")
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")
|
|
|
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
|
|
|
|
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO")
|
2019-09-01 20:45:07 +00:00
|
|
|
endif(MSVC)
|
|
|
|
endif(WIN32)
|
2019-12-03 23:28:14 +00:00
|
|
|
|
|
|
|
include(ExternalProject)
|
|
|
|
|
|
|
|
ExternalProject_Add(
|
|
|
|
DirectX
|
|
|
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
CONFIGURE_COMMAND ""
|
|
|
|
BUILD_COMMAND ""
|
|
|
|
INSTALL_COMMAND ""
|
|
|
|
URL
|
|
|
|
https://archive.org/download/DirectX.8.0a.SDK_includes_libs_only/DirectX.8.0a.SDK.zip
|
|
|
|
URL_HASH SHA1=39f168336d0df92ff14d62d5e3aef1b9e3191312)
|
2019-12-04 00:21:51 +00:00
|
|
|
|
|
|
|
|
2019-12-03 23:28:14 +00:00
|
|
|
ExternalProject_Get_Property(DirectX SOURCE_DIR)
|
|
|
|
include_directories(AFTER ${SOURCE_DIR}/8.0/include/)
|
|
|
|
link_directories(AFTER ${SOURCE_DIR}/8.0/lib/)
|
|
|
|
|
2019-12-04 00:21:51 +00:00
|
|
|
find_package(Python3 3.6 REQUIRED COMPONENTS Interpreter)
|
2019-12-03 23:44:56 +00:00
|
|
|
|
2019-12-03 23:28:14 +00:00
|
|
|
add_custom_target(
|
2019-12-03 23:44:56 +00:00
|
|
|
MAKE_D3D8_VMT ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/src/make_D3D8_VMT.py ${CMAKE_CURRENT_SOURCE_DIR}/src/D3D8_VMT.hpp ${SOURCE_DIR}/8.0/include/d3d8.h
|
2019-12-03 23:28:14 +00:00
|
|
|
DEPENDS DirectX
|
|
|
|
)
|
|
|
|
|
|
|
|
# ExternalProject_Add(
|
|
|
|
# Python152
|
|
|
|
# PREFIX ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
# CONFIGURE_COMMAND ""
|
|
|
|
# BUILD_COMMAND ""
|
|
|
|
# INSTALL_COMMAND ""
|
|
|
|
# URL
|
|
|
|
# https://www.python.org/ftp/python/src/py152.tgz
|
|
|
|
# URL_HASH SHA1=2d648d07b1aa1aab32a3a24851c33715141779b9
|
|
|
|
# )
|
|
|
|
# ExternalProject_Get_Property(Python152 SOURCE_DIR)
|
|
|
|
# include_directories(AFTER ${SOURCE_DIR}/Include/)
|
|
|
|
|
|
|
|
|
|
|
|
# ExternalProject_Add(
|
|
|
|
# Python152_Bin
|
|
|
|
# PREFIX ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
# CONFIGURE_COMMAND ""
|
|
|
|
# BUILD_COMMAND ""
|
|
|
|
# INSTALL_COMMAND ""
|
|
|
|
# URL
|
|
|
|
# https://www.python.org/ftp/python/win32/py152.exe
|
|
|
|
# URL_HASH SHA1=dfaf2dcc3704fb1bbc339db4f33ff94bd61c74c6
|
|
|
|
# )
|
|
|
|
# ExternalProject_Get_Property(Python152 SOURCE_DIR)
|
|
|
|
# link_directories(AFTER ${SOURCE_DIR}/)
|
|
|
|
|
|
|
|
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
|
|
|
|
add_compile_definitions(POINTER_64=__ptr64)
|
|
|
|
add_library(ScrapHack SHARED
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/dllmain.cpp
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/ScrapHack.cpp
|
|
|
|
)
|
|
|
|
set_target_properties(ScrapHack PROPERTIES SUFFIX ".pyd")
|
|
|
|
add_dependencies(ScrapHack DirectX)
|
|
|
|
add_dependencies(ScrapHack MAKE_D3D8_VMT)
|
|
|
|
add_dependencies(MAKE_D3D8_VMT DirectX)
|
|
|
|
# add_dependencies(ScrapHack Python152)
|
|
|
|
# add_dependencies(ScrapHack Python152_Bin)
|
|
|
|
target_link_libraries(ScrapHack
|
|
|
|
d3d8
|
|
|
|
d3dx8
|
|
|
|
dxerr8
|
|
|
|
# PYTHON15
|
|
|
|
legacy_stdio_definitions)
|
|
|
|
target_compile_features(ScrapHack PUBLIC cxx_std_11)
|