mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
[cmake] make C and C++ standards configurable
use cache variables to allow overriding them from command line
This commit is contained in:
@@ -25,10 +25,6 @@ if(POLICY CMP0091)
|
||||
endif()
|
||||
project(FreeRDP LANGUAGES C)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
|
||||
add_custom_target(fuzzers COMMENT "Build fuzzers")
|
||||
|
||||
if(NOT DEFINED VENDOR)
|
||||
@@ -60,6 +56,8 @@ endif()
|
||||
# Include our extra modules
|
||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/)
|
||||
|
||||
include(ProjectCStandard)
|
||||
|
||||
# Check for cmake compatibility (enable/disable features)
|
||||
include(CheckCmakeCompat)
|
||||
|
||||
|
||||
@@ -28,11 +28,8 @@ project(sdl-freerdp LANGUAGES CXX VERSION ${FREERDP_DEFAULT_PROJECT_VERSION})
|
||||
|
||||
message("project ${PROJECT_NAME} is using version ${PROJECT_VERSION}")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS ON)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/)
|
||||
include(ProjectCXXStandard)
|
||||
include(CommonConfigOptions)
|
||||
|
||||
include(ConfigureFreeRDP)
|
||||
|
||||
@@ -27,11 +27,8 @@ project(sfreerdp LANGUAGES C VERSION ${FREERDP_DEFAULT_PROJECT_VERSION})
|
||||
|
||||
message("project ${PROJECT_NAME} is using version ${PROJECT_VERSION}")
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/)
|
||||
include(ProjectCStandard)
|
||||
include(CommonConfigOptions)
|
||||
|
||||
include(ConfigureFreeRDP)
|
||||
|
||||
@@ -27,11 +27,8 @@ message("project ${PROJECT_NAME} is using version ${PROJECT_VERSION}")
|
||||
|
||||
set(MODULE_NAME "xfreerdp")
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/)
|
||||
include(ProjectCStandard)
|
||||
include(CommonConfigOptions)
|
||||
|
||||
include(ConfigureFreeRDP)
|
||||
|
||||
3
cmake/ProjectCStandard.cmake
Normal file
3
cmake/ProjectCStandard.cmake
Normal file
@@ -0,0 +1,3 @@
|
||||
set(CMAKE_C_STANDARD 11 CACHE STRING "project default")
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON CACHE BOOL "project default")
|
||||
set(CMAKE_C_EXTENSIONS ON CACHE BOOL "project default")
|
||||
3
cmake/ProjectCXXStandard.cmake
Normal file
3
cmake/ProjectCXXStandard.cmake
Normal file
@@ -0,0 +1,3 @@
|
||||
set(CMAKE_CXX_STANDARD 17 CACHE STRING "project default")
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL "project default")
|
||||
set(CMAKE_CXX_EXTENSIONS ON CACHE BOOL "project default")
|
||||
@@ -23,13 +23,12 @@ set(RDTK_VERSION "${RDTK_VERSION_MAJOR}.${RDTK_VERSION_MINOR}.${RDTK_VERSION_REV
|
||||
set(RDTK_VERSION_FULL "${RDTK_VERSION}")
|
||||
set(RDTK_API_VERSION "${RDTK_VERSION_MAJOR}")
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/)
|
||||
if(NOT FREERDP_UNIFIED_BUILD)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
project(RdTk VERSION ${RDTK_VERSION} LANGUAGES C)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
include(ProjectCStandard)
|
||||
|
||||
set(WINPR_VERSION_MAJOR 3)
|
||||
option(BUILD_TESTING_INTERNAL "Build library unit tests" ON)
|
||||
@@ -40,7 +39,6 @@ else()
|
||||
endif()
|
||||
|
||||
# Include our extra modules
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/)
|
||||
include(CommonConfigOptions)
|
||||
|
||||
# Include cmake modules
|
||||
|
||||
@@ -33,12 +33,10 @@ project(proxy-bitmap-filter-plugin VERSION ${FREERDP_DEFAULT_PROJECT_VERSION} LA
|
||||
message("project ${PROJECT_NAME} is using version ${PROJECT_VERSION}")
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../../cmake/)
|
||||
include(ProjectCXXStandard)
|
||||
include(CommonConfigOptions)
|
||||
include(CXXCompilerFlags)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(SRCS bitmap-filter.cpp)
|
||||
addtargetwithresourcefile(${PROJECT_NAME} FALSE "${PROJECT_VERSION}" SRCS FALSE)
|
||||
|
||||
|
||||
@@ -33,12 +33,10 @@ project(proxy-demo-plugin VERSION ${FREERDP_DEFAULT_PROJECT_VERSION} LANGUAGES C
|
||||
message("project ${PROJECT_NAME} is using version ${PROJECT_VERSION}")
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../../cmake/)
|
||||
include(ProjectCXXStandard)
|
||||
include(CommonConfigOptions)
|
||||
include(CXXCompilerFlags)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(SRCS demo.cpp)
|
||||
addtargetwithresourcefile(${PROJECT_NAME} FALSE "${PROJECT_VERSION}" SRCS FALSE)
|
||||
|
||||
|
||||
@@ -34,9 +34,7 @@ message("project ${PROJECT_NAME} is using version ${PROJECT_VERSION}")
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../../cmake/)
|
||||
include(CommonConfigOptions)
|
||||
include(CXXCompilerFlags)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
include(ProjectCXXStandard)
|
||||
|
||||
set(SRCS dyn-channel-dump.cpp)
|
||||
addtargetwithresourcefile(${PROJECT_NAME} FALSE "${PROJECT_VERSION}" SRCS FALSE)
|
||||
|
||||
@@ -23,13 +23,12 @@ set(UWAC_VERSION "${UWAC_VERSION_MAJOR}.${UWAC_VERSION_MINOR}.${UWAC_VERSION_REV
|
||||
set(UWAC_VERSION_FULL "${UWAC_VERSION}")
|
||||
set(UWAC_API_VERSION "${UWAC_VERSION_MAJOR}")
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/)
|
||||
if(NOT FREERDP_UNIFIED_BUILD)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
project(uwac VERSION ${UWAC_VERSION} LANGUAGES C)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
include(ProjectCStandard)
|
||||
|
||||
option(BUILD_TESTING_INTERNAL "Build library unit tests" ON)
|
||||
|
||||
@@ -40,7 +39,6 @@ option(UWAC_FORCE_STATIC_BUILD "Force UWAC to be build as static library (recomm
|
||||
option(UWAC_HAVE_PIXMAN_REGION "Use PIXMAN or FreeRDP for region calculations" "NOT FREERDP_UNIFIED_BUILD")
|
||||
|
||||
# Include our extra modules
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/)
|
||||
include(CommonConfigOptions)
|
||||
|
||||
include(CheckFunctionExists)
|
||||
|
||||
@@ -26,10 +26,7 @@ if(NOT FREERDP_UNIFIED_BUILD)
|
||||
endif()
|
||||
project(WinPR LANGUAGES C)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
|
||||
include(ProjectCStandard)
|
||||
include(CommonConfigOptions)
|
||||
include(ConfigOptions)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user