mirror of
https://github.com/hch12907/orbum.git
synced 2024-05-10 00:34:06 -04:00
73 lines
1.6 KiB
CMake
73 lines
1.6 KiB
CMake
# CMake 3.8.2 is needed for C++17 support.
|
|
# CMake 3.9 is needed for LTO support.
|
|
cmake_minimum_required(VERSION 3.9)
|
|
cmake_policy(SET CMP0069 NEW) # Link time optimization support
|
|
|
|
|
|
#######################
|
|
# Pre-project options #
|
|
#######################
|
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" cache string "Minimum OS X deployment version")
|
|
|
|
|
|
project(orbum CXX)
|
|
|
|
|
|
###########
|
|
# Options #
|
|
###########
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
set(BUILD_SHARED_LIBS on)
|
|
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE on)
|
|
|
|
include(CheckIPOSupported)
|
|
check_ipo_supported(RESULT ipo_result)
|
|
if(ipo_result)
|
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION on)
|
|
endif()
|
|
|
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
|
endif()
|
|
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/out")
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/out")
|
|
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
|
|
|
|
|
################
|
|
# Dependencies #
|
|
################
|
|
|
|
# Threads
|
|
find_package(Threads)
|
|
|
|
# Boost
|
|
add_definitions(-DBOOST_ALL_DYN_LINK)
|
|
set(Boost_USE_STATIC_LIBS OFF)
|
|
set(Boost_USE_STATIC_RUNTIME OFF)
|
|
set(Boost_USE_MULTITHREADED ON)
|
|
find_package(Boost REQUIRED COMPONENTS log filesystem)
|
|
|
|
|
|
###########
|
|
# Project #
|
|
###########
|
|
|
|
add_subdirectory(liborbum)
|
|
add_subdirectory(orbumfront)
|
|
add_subdirectory(utilities)
|
|
|
|
|
|
#########################
|
|
# Visual Studio Options #
|
|
#########################
|
|
|
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT orbumfront)
|
|
set_property(TARGET orbumfront PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
|