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) 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/") if(WIN32) target_link_libraries(couch glfw3dll) target_link_libraries(couch ssp) set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++") endif(WIN32) install(TARGETS couch couchlib couchlib_luascripting) if (LUA_ENABLED) install(TARGETS couchlua) endif ()