diff options
Diffstat (limited to 'src/boost/libs/json/cmake')
-rw-r--r-- | src/boost/libs/json/cmake/toolchains/clang.cmake | 5 | ||||
-rw-r--r-- | src/boost/libs/json/cmake/toolchains/common.cmake | 24 | ||||
-rw-r--r-- | src/boost/libs/json/cmake/toolchains/gcc.cmake | 5 | ||||
-rw-r--r-- | src/boost/libs/json/cmake/toolchains/msvc.cmake | 33 |
4 files changed, 67 insertions, 0 deletions
diff --git a/src/boost/libs/json/cmake/toolchains/clang.cmake b/src/boost/libs/json/cmake/toolchains/clang.cmake new file mode 100644 index 000000000..72dfd3e9c --- /dev/null +++ b/src/boost/libs/json/cmake/toolchains/clang.cmake @@ -0,0 +1,5 @@ +# Include gcc options. +include(${CMAKE_CURRENT_LIST_DIR}/gcc.cmake) + +# Compiler options. +add_compile_options(-Wrange-loop-analysis) diff --git a/src/boost/libs/json/cmake/toolchains/common.cmake b/src/boost/libs/json/cmake/toolchains/common.cmake new file mode 100644 index 000000000..0b7727ae6 --- /dev/null +++ b/src/boost/libs/json/cmake/toolchains/common.cmake @@ -0,0 +1,24 @@ +# C++ standard. +set(CMAKE_CXX_EXTENSIONS OFF CACHE STRING "") + +# Static library linkage. +set(BUILD_SHARED_LIBS OFF CACHE STRING "") +add_definitions(-DBOOST_ALL_STATIC_LINK=1) + +# Interprocedural optimization. +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON CACHE STRING "") +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON CACHE STRING "") +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON CACHE STRING "") + +# Compiler definitions. +if(WIN32) + add_definitions(-D_WIN32_WINNT=0x0601 -D_CRT_SECURE_NO_WARNINGS) +endif() + +# Project options. +set(BOOST_JSON_BUILD_BENCHMARKS ON CACHE STRING "") + +# Detect Boost tree. +if(NOT DEFINED BOOST_JSON_IN_BOOST_TREE AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../../../Jamroot") + set(BOOST_JSON_IN_BOOST_TREE ON CACHE STRING "") +endif() diff --git a/src/boost/libs/json/cmake/toolchains/gcc.cmake b/src/boost/libs/json/cmake/toolchains/gcc.cmake new file mode 100644 index 000000000..b6a8e1d03 --- /dev/null +++ b/src/boost/libs/json/cmake/toolchains/gcc.cmake @@ -0,0 +1,5 @@ +# Include common options. +include(${CMAKE_CURRENT_LIST_DIR}/common.cmake) + +# Compiler options. +add_compile_options(-Wall -Wextra -Wpedantic -Wno-unused-parameter) diff --git a/src/boost/libs/json/cmake/toolchains/msvc.cmake b/src/boost/libs/json/cmake/toolchains/msvc.cmake new file mode 100644 index 000000000..b619ede09 --- /dev/null +++ b/src/boost/libs/json/cmake/toolchains/msvc.cmake @@ -0,0 +1,33 @@ +# Include common options. +include(${CMAKE_CURRENT_LIST_DIR}/common.cmake) + +# Static runtime linkage. +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>" CACHE STRING "") + +# Compiler options. +add_compile_options( + /permissive- # strict C++ + /W4 # enable all warnings + /MP # multi-processor compilation +) +if("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32") # 32-bit + add_compile_options( + /arch:SSE2 + ) +endif() + +# Linker options. +add_link_options( +) + +# Disable logos. +foreach(lang C CXX ASM_MASM RC) + set(CMAKE_${lang}_FLAGS_INIT "/nologo") +endforeach() +foreach(type EXE SHARED MODULE) + set(CMAKE_${type}_LINKER_FLAGS_INIT "/nologo") +endforeach() + +# Silence Visual Studio CMake integration warnings. +set(SILENCE_VS_DEFINITIONS ${CMAKE_TOOLCHAIN_FILE} ${CMAKE_C_COMPILER}) +set(SILENCE_VS_DEFINITIONS) |