[cmake] force configuration options

limit multiconfiguration options to supported types
This commit is contained in:
akallabeth
2024-11-12 09:36:25 +01:00
parent 9ac770b70e
commit ba8fd2ada5
43 changed files with 158 additions and 159 deletions

View File

@@ -141,7 +141,7 @@ endif()
message(STATUS "Git Revision ${GIT_REVISION}")
# MSVC compatibility with system headers
add_definitions(-DNONAMELESSUNION)
add_compile_definitions(NONAMELESSUNION)
# Make the detected version available as default version for all subprojects
set(FREERDP_DEFAULT_PROJECT_VERSION ${FREERDP_VERSION} CACHE STRING INTERNAL)
@@ -151,18 +151,18 @@ set(FREERDP_INCLUDE_DIR "include/${FREERDP_MAJOR_DIR}/")
option(WITH_SMARTCARD_EMULATE "Emulate smartcards instead of redirecting readers" ON)
if(WITH_SMARTCARD_EMULATE)
add_definitions(-DWITH_SMARTCARD_EMULATE)
add_compile_definitions(WITH_SMARTCARD_EMULATE)
find_package(ZLIB REQUIRED)
endif()
option(WITH_FREERDP_DEPRECATED "Build FreeRDP deprecated symbols" OFF)
if(WITH_FREERDP_DEPRECATED)
add_definitions(-DWITH_FREERDP_DEPRECATED)
add_compile_definitions(WITH_FREERDP_DEPRECATED)
endif()
option(WITH_FREERDP_DEPRECATED_COMMANDLINE "Build FreeRDP deprecated command line options" OFF)
if(WITH_FREERDP_DEPRECATED_COMMANDLINE)
add_definitions(-DWITH_FREERDP_DEPRECATED_COMMANDLINE)
add_compile_definitions(WITH_FREERDP_DEPRECATED_COMMANDLINE)
endif()
# Make paths absolute
@@ -196,7 +196,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
option(CTEST_OUTPUT_ON_FAILURE ON "show verbose output on CTest failures")
if(BUILD_TESTING_INTERNAL)
set(EXPORT_ALL_SYMBOLS ON CACHE BOOL "testing default" FORCE)
add_definitions(-DBUILD_TESTING_INTERNAL)
add_compile_definitions(BUILD_TESTING_INTERNAL)
elseif(BUILD_TESTING)
set(EXPORT_ALL_SYMBOLS OFF CACHE BOOL "testing default" FORCE)
else()
@@ -205,7 +205,7 @@ endif()
if(EXPORT_ALL_SYMBOLS)
# set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
add_definitions(-DEXPORT_ALL_SYMBOLS)
add_compile_definitions(EXPORT_ALL_SYMBOLS)
endif(EXPORT_ALL_SYMBOLS)
# Compiler-specific flags
@@ -236,8 +236,8 @@ if(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wredundant-decls")
endif()
endif()
add_compile_definitions("$<$<CONFIG:Release>:-DNDEBUG>")
add_compile_definitions("$<$<CONFIG:MinSizeRel>:-DNDEBUG>")
add_compile_definitions("$<$<CONFIG:Release>:NDEBUG>")
add_compile_definitions("$<$<CONFIG:MinSizeRel>:NDEBUG>")
add_compile_options("$<$<CONFIG:RelWithDebInfo>:-g>")
add_compile_options("$<$<CONFIG:Debug>:-g>")
endif()
@@ -331,7 +331,7 @@ if(MSVC)
add_compile_options("$<$<CONFIG:Release>:/Zi>")
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
add_compile_definitions(_CRT_NONSTDC_NO_DEPRECATE)
endif()
if(ANDROID)
@@ -341,10 +341,10 @@ if(ANDROID)
endif()
if(WIN32)
add_definitions(-DUNICODE -D_UNICODE)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-DWIN32_LEAN_AND_MEAN)
add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS)
add_compile_definitions(UNICODE _UNICODE)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
add_compile_definitions(WIN32_LEAN_AND_MEAN)
add_compile_definitions(_WINSOCK_DEPRECATED_NO_WARNINGS)
set(CMAKE_DL_LIBS "")
set(CMAKE_USE_RELATIVE_PATH ON)
@@ -355,13 +355,13 @@ if(WIN32)
endif()
if(CMAKE_WINDOWS_VERSION STREQUAL "WINXP")
add_definitions(-DWINVER=0x0501 -D_WIN32_WINNT=0x0501)
add_compile_definitions(WINVER=0x0501 _WIN32_WINNT=0x0501)
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN7")
add_definitions(-DWINVER=0x0601 -D_WIN32_WINNT=0x0601)
add_compile_definitions(WINVER=0x0601 _WIN32_WINNT=0x0601)
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN8")
add_definitions(-DWINVER=0x0602 -D_WIN32_WINNT=0x0602)
add_compile_definitions(WINVER=0x0602 _WIN32_WINNT=0x0602)
elseif(CMAKE_WINDOWS_VERSION STREQUAL "WIN10")
add_definitions(-DWINVER=0x0A00 -D_WIN32_WINNT=0x0A00)
add_compile_definitions(WINVER=0x0A00 _WIN32_WINNT=0x0A00)
endif()
# Set product and vendor for dll and exe version information.
@@ -377,7 +377,7 @@ if(WIN32)
endif()
endif()
add_definitions(-DFREERDP_EXPORTS)
add_compile_definitions(FREERDP_EXPORTS)
# Mac OS X
if(APPLE)
@@ -417,7 +417,7 @@ if(ANDROID)
endif()
endif()
add_definitions("$<$<CONFIG:Debug>:-DNDK_DEBUG=1>")
add_compile_definitions("$<$<CONFIG:Debug>:NDK_DEBUG=1>")
# NOTE: Manually add -gdwarf-3, as newer toolchains default to -gdwarf-4,
# which is not supported by the gdbserver binary shipped with
@@ -537,8 +537,8 @@ if(WITH_LIBRESSL)
set(OPENSSL_CRYPTO_LIBRARIES ${LIBRESSL_LIBRARIES})
set(WITH_OPENSSL ON)
set(OPENSSL_FOUND ON)
add_definitions("-DWITH_LIBRESSL")
add_definitions("-DWITH_OPENSSL")
add_compile_definitions("WITH_LIBRESSL")
add_compile_definitions("WITH_OPENSSL")
else()
find_feature(OpenSSL ${OPENSSL_FEATURE_TYPE} ${OPENSSL_FEATURE_PURPOSE} ${OPENSSL_FEATURE_DESCRIPTION})
find_feature(MbedTLS ${MBEDTLS_FEATURE_TYPE} ${MBEDTLS_FEATURE_PURPOSE} ${MBEDTLS_FEATURE_DESCRIPTION})
@@ -580,13 +580,13 @@ endif()
set(WITH_OPENH264 ${OPENH264_FOUND})
if(OPENSSL_FOUND)
add_definitions("-DWITH_OPENSSL")
add_compile_definitions("WITH_OPENSSL")
message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}")
include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
endif()
if(MBEDTLS_FOUND)
add_definitions("-DWITH_MBEDTLS")
add_compile_definitions("WITH_MBEDTLS")
endif()
if(WITH_OPENH264 OR WITH_MEDIA_FOUNDATION OR WITH_VIDEO_FFMPEG OR WITH_MEDIACODEC)