60 lines
1.7 KiB
CMake
60 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.0)
|
|
project(AutoSave VERSION 1.1.0)
|
|
|
|
set(CMAKE_CXX_FLAGS "-static -static-libgcc -static-libstdc++ -Wall -Werror")
|
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O2 -DTSFUNCS_DEBUG=false")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -g -Og")
|
|
|
|
add_compile_definitions(PROJECT_NAME="${CMAKE_PROJECT_NAME}")
|
|
add_compile_definitions(PROJECT_EXPORT=${CMAKE_PROJECT_NAME})
|
|
add_compile_definitions(PROJECT_VERSION="${CMAKE_PROJECT_VERSION}")
|
|
|
|
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE)
|
|
|
|
if (NOT CMAKE_BUILD_TYPE MATCHES Release AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
|
|
set(CMAKE_BUILD_TYPE Release)
|
|
endif ()
|
|
|
|
find_package(TSFUNCS REQUIRED)
|
|
|
|
include_directories("${TSFUNCS_INCLUDE_DIRS};${CMAKE_SOURCE_DIR}/include")
|
|
link_directories(${TSFUNCS_LIBRARY_DIRS})
|
|
|
|
set(CMAKE_FIND_LIBRARY_PREFIXES "" "lib")
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES "" ".lib" ".a")
|
|
|
|
find_library(MINHOOK_LIB_RELEASE_LOC
|
|
NAMES minhook libminhook minhook.x32 minhook.x64
|
|
PATHS ${TSFUNCS_LIBRARY_DIRS}
|
|
REQUIRED
|
|
)
|
|
|
|
find_library(MINHOOK_LIB_DEBUG_LOC
|
|
NAMES minhookd libminhookd minhook.x32d minhook.x64d
|
|
PATHS ${TSFUNCS_LIBRARY_DIRS}
|
|
REQUIRED
|
|
)
|
|
|
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
set(TSFUNCS_LIB "tsfuncsd")
|
|
set(MINHOOK_LIB_LOC ${MINHOOK_LIB_DEBUG_LOC})
|
|
else ()
|
|
set(TSFUNCS_LIB "tsfuncs")
|
|
set(MINHOOK_LIB_LOC ${MINHOOK_LIB_RELEASE_LOC})
|
|
endif ()
|
|
|
|
add_library(minhook STATIC IMPORTED)
|
|
set_target_properties(minhook PROPERTIES IMPORTED_LOCATION "${MINHOOK_LIB_LOC}")
|
|
|
|
add_library(${CMAKE_PROJECT_NAME} SHARED src/main.cpp)
|
|
|
|
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES PREFIX "")
|
|
|
|
target_link_libraries(${CMAKE_PROJECT_NAME}
|
|
${TSFUNCS_LIB}
|
|
minhook
|
|
psapi
|
|
gdiplus
|
|
shlwapi
|
|
)
|