# Build for LuaBind # Ryan Pavlik # http://academic.cleardefinition.com/ # Iowa State University HCI Graduate Program/VRAC cmake_minimum_required(VERSION 3.0) project(LuaBind) set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "9") set(CPACK_PACKAGE_VERSION_PATCH "1") set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) if(NOT LUA_FOUND AND NOT LUA51_FOUND) find_package(Lua51 REQUIRED) set(LUA_INCLUDE_DIRS "${LUA_INCLUDE_DIR}") endif() if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) # We are the top-level project include(CTest) option(LUABIND_INSTALL "Install the LuaBind library and headers" ON) option(LUABIND_BUILD_DOCS "Build documentation files" OFF) option(LUABIND_BUILD_SHARED "Build luabind as a shared library?" OFF) endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # Requiring C++11 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif() if(MSVC) # Requiring C++11 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++11") # set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /std:c++11") endif() set(BUILD_SHARED_LIBS ${LUABIND_BUILD_SHARED}) if(BUILD_SHARED_LIBS) add_definitions(-DLUABIND_DYNAMIC_LINK) endif() include_directories( "${CMAKE_CURRENT_SOURCE_DIR}" ${LUA_INCLUDE_DIRS} ) add_subdirectory(src) if(BUILD_TESTING) add_subdirectory(test) endif() if(LUABIND_BUILD_DOCS) add_subdirectory(doc) endif()