Files
PyG2O/CMakeLists.txt
Patrix eab3d7c831 Updated dependencies structure:
- Added CMakeLists.txt for each dependency
- Added dependencies/CMakeLists.txt for specifying relation between main lib and it's dependencies
2022-07-07 21:11:24 +02:00

69 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.17)
project(SqModule)
option(INSTALL_AFTER_BUILD "Run cmake --install separately for every target after each build. By default this option is set to OFF" OFF)
set(GAME_PATH "" CACHE PATH "This option specifies the game location. It's only used for the installation step.")
set(SERVER_PATH "" CACHE PATH "This option specifies the server location. It's only used for the installation step.")
file(GLOB SRC
"src/api/squirrel_api.h"
"src/api/module_api.h"
"src/api/module_api.cpp"
"src/pch.h"
"src/sqmain.cpp"
)
add_library(SqModule SHARED ${SRC})
target_precompile_headers(SqModule PRIVATE "src/pch.h")
target_include_directories(SqModule
INTERFACE
"include/"
PRIVATE
"src/"
)
add_subdirectory(dependencies)
if(DEFINED SHARED_LIBRARY_SUFFIX)
set_target_properties(SqModule
PROPERTIES
PREFIX ""
SUFFIX ".${SHARED_LIBRARY_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}"
)
endif()
if (NOT ${GAME_PATH} STREQUAL "")
install(TARGETS SqModule
RUNTIME
DESTINATION ${GAME_PATH}
COMPONENT "clientModule"
)
if(INSTALL_AFTER_BUILD)
add_custom_command(TARGET SqModule
POST_BUILD
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_CURRENT_BINARY_DIR} --component "clientModule"
)
endif()
endif()
if (NOT ${SERVER_PATH} STREQUAL "")
install(TARGETS SqModule
RUNTIME
DESTINATION ${SERVER_PATH}
COMPONENT "serverModule"
)
if(INSTALL_AFTER_BUILD)
add_custom_command(TARGET SqModule
POST_BUILD
COMMAND ${CMAKE_COMMAND} --install ${CMAKE_CURRENT_BINARY_DIR} --component "serverModule"
)
endif()
endif()