Sélectionner une révision Git
CMakeLists.txt 11,92 Kio
cmake_minimum_required(VERSION 3.17)
set(LKT_VERSION 2.4)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(CMAKE_BUILD_TYPE RelWithDebInfo)
endif()
project(lektor VERSION ${LKT_VERSION} LANGUAGES C CXX)
cmake_policy(SET CMP0100 NEW)
cmake_policy(SET CMP0009 NEW)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/utils/cmake/")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(THREADS_PREFER_PTHREAD_FLAG ON)
set(CMAKE_COLOR_MAKEFILE ON)
include(TestBigEndian) # Needed for endianness tests
include(FindOpenMP) # Test OpenMP support
include(GNUInstallDirs) # Needed for installation things
include(ExternalProject) # Enable ExternalProject CMake module
### ###
# TEST OPENMP #
### ###
if(OpenMP_FOUND)
message(STATUS "OpenMP found by CMake for C (version ${OpenMP_C_VERSION}) and C++ (version ${OpenMP_CXX_VERSION})")
else()
message(FATAL_ERROR "OpenMP not found by CMake for C and C++")
endif()
### ###
# SET COMMON VARIABLES #
### ###
set(${CMAKE_C_COMPILER_ID}_C_FLAGS)
set(COMMON_C_FLAGS
-Wall -Wextra -Werror
-Wshadow
-Wcast-align
-Wconversion
-Wsign-conversion
-Wunused-variable
-Wmisleading-indentation
-Wnull-dereference
-Wdouble-promotion
-Wformat=2
-Wignored-qualifiers
${OpenMP_C_FLAGS}
)
set(Clang_C_FLAGS
-Weverything
-Wpedantic
-Wno-extra-semi-stmt
-Wno-reserved-id-macro
-Wno-reserved-identifier
-Wno-used-but-marked-unused
-Wno-unused-macros
-Wno-cast-qual
-Wno-macro-redefined
-Wno-padded
-Wno-vla
-Wno-disabled-macro-expansion
-Wno-extra-semi
-Wno-format-nonliteral
-Wno-missing-variable-declarations
-Wno-unknown-warning-option
-Wno-declaration-after-statement