Files
PyG2O/CMakeLists.txt
Patrix fb310bf1ae Updated project structure:
CMake changes:

- Replace text files containing paths to installation, with install commands
- You can set paths as cache variable
- Added new option INSTALL_AFTER_BUILD

Code changes:

- Revert the changes to allow usage for older versions of g2o (like 0.1.9)
This change is only temporary, to publish the release module fo the older g2o versions.
2021-08-04 20:58:27 +02:00

65 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" ON)
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
"dependencies/squirrel/include/*.h"
"dependencies/sqrat/include/*.h"
"src/api/squirrel_api.h"
"src/api/module_api.h"
"src/api/module_api.cpp"
"src/pch.h"
"src/sqmain.cpp"
)
add_subdirectory("dependencies/squirrel/squirrel")
add_library(SqModule SHARED ${SRC})
target_precompile_headers(SqModule PRIVATE "src/pch.h")
target_include_directories(SqModule
INTERFACE
"include/"
PRIVATE
"src/"
"dependencies/squirrel/include/"
"dependencies/sqrat/include/"
)
target_link_libraries(SqModule PRIVATE squirrel_static)
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()