couch/CMakeLists.txt

50 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.13)
project(Couch)
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH})
set(CMAKE_CXX_FLAGS_RELEASE -O2)
option(LUA_ENABLED "Lua scripting support" ON)
if (LUA_ENABLED)
add_compile_definitions(LUA_SCRIPTING)
## Find Lua
## Do it here because it's needed in a bunch of places and the debian cmake is a stickler
find_package(Lua REQUIRED)
include_directories(${LUA_INCLUDE_DIR})
endif ()
add_executable(couch core/couch.cpp)
add_subdirectory(core)
target_link_libraries(couch couchlib)
target_link_libraries(couch couchlib_luascripting)
add_subdirectory(scripting)
if (LUA_ENABLED)
target_link_libraries(couch couchlua)
endif()
add_subdirectory(thirdparty)
add_subdirectory(shaders)
add_dependencies(couchlib shader_headers)
target_include_directories(couchlib
PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/shaders/")
file(COPY LICENSE CORRESPONDINGSOURCE.txt DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
if(WIN32)
target_link_libraries(couch ssp)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
endif(WIN32)
install(TARGETS couch couchlib couchlib_luascripting
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
if (LUA_ENABLED)
install(TARGETS couchlua
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
endif ()