effil/CMakeLists.txt
2017-09-10 20:28:38 +01:00

48 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 2.8)
project(effil)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif(NOT CMAKE_BUILD_TYPE)
if (NOT LUA_INCLUDE_DIR OR NOT LUA_LIBRARY)
find_package(Lua REQUIRED)
endif()
include_directories(src/cpp libs/sol/single/sol ${LUA_INCLUDE_DIR})
FILE(GLOB SOURCES src/cpp/*.cpp src/cpp/*.h)
FILE(GLOB LUA_SOURCES src/lua/*.lua)
if(APPLE)
# Supress warning CMP0042
set(CMAKE_MACOSX_RPATH 1)
endif()
add_library(effil SHARED ${SOURCES})
target_link_libraries(effil -lpthread ${LUA_LIBRARY} -ldl)
set(GENERAL "-std=c++14 -DSOL_EXCEPTIONS_SAFE_PROPAGATION")
set(ENABLE_WARNINGS "-Wall -Wextra -pedantic")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GENERAL} ${ENABLE_WARNINGS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror -O0 -g -UNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -g0 -DNDEBUG")
#----------
# TESTS ---
#----------
FILE(GLOB TEST_SOURCES tests/cpp/*.cpp tests/cpp/*.h)
set(GTEST_DIR libs/gtest/googletest)
set(LUA_TESTS tests/lua/tests.lua)
include_directories(${GTEST_DIR}/include ${GTEST_DIR})
add_executable(tests ${TEST_SOURCES} ${GTEST_DIR}/src/gtest-all.cc)
target_link_libraries(tests effil ${LUA_LIBRARY})
#----------
# INSTALL -
#----------
install(FILES ${LUA_TESTS}
DESTINATION ${CMAKE_BINARY_DIR}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ)