diff --git a/CMakeLists.txt b/CMakeLists.txt index 03d364cc7..c924a5044 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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("$<$:-DNDEBUG>") - add_compile_definitions("$<$:-DNDEBUG>") + add_compile_definitions("$<$:NDEBUG>") + add_compile_definitions("$<$:NDEBUG>") add_compile_options("$<$:-g>") add_compile_options("$<$:-g>") endif() @@ -331,7 +331,7 @@ if(MSVC) add_compile_options("$<$:/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("$<$:-DNDK_DEBUG=1>") + add_compile_definitions("$<$: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) diff --git a/channels/rdpdr/client/CMakeLists.txt b/channels/rdpdr/client/CMakeLists.txt index 3e60c2b46..b996aed37 100644 --- a/channels/rdpdr/client/CMakeLists.txt +++ b/channels/rdpdr/client/CMakeLists.txt @@ -22,7 +22,7 @@ define_channel_client("rdpdr") include(CheckFunctionExists) check_function_exists(getmntent_r FREERDP_HAVE_GETMNTENT_R) if(FREERDP_HAVE_GETMNTENT_R) - add_definitions(-DFREERDP_HAVE_GETMNTENT_R) + add_compile_definitions(FREERDP_HAVE_GETMNTENT_R) endif() set(${MODULE_PREFIX}_SRCS diff --git a/channels/rdpear/common/test/CMakeLists.txt b/channels/rdpear/common/test/CMakeLists.txt index c5751f2b9..0a09a4ac0 100644 --- a/channels/rdpear/common/test/CMakeLists.txt +++ b/channels/rdpear/common/test/CMakeLists.txt @@ -15,8 +15,8 @@ create_test_sourcelist(TEST_RDPEAR_SRCS TestRdpear.c ${TEST_RDPEAR_TESTS}) add_executable(${MODULE_NAME} ${TEST_RDPEAR_SRCS}) -add_definitions(-DTESTING_OUTPUT_DIRECTORY="${PROJECT_BINARY_DIR}") -add_definitions(-DTESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}") +add_compile_definitions(TESTING_OUTPUT_DIRECTORY="${PROJECT_BINARY_DIR}") +add_compile_definitions(TESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}") target_link_libraries(${MODULE_NAME} freerdp winpr freerdp-client) diff --git a/channels/rdpecam/client/CMakeLists.txt b/channels/rdpecam/client/CMakeLists.txt index 6e67d955e..a8028c309 100644 --- a/channels/rdpecam/client/CMakeLists.txt +++ b/channels/rdpecam/client/CMakeLists.txt @@ -26,19 +26,19 @@ find_package(FFmpeg REQUIRED COMPONENTS SWSCALE) find_package(V4L) if(V4L_FOUND) set(WITH_V4L ON) - add_definitions("-DWITH_V4L") + add_compile_definitions("WITH_V4L") else() message(FATAL_ERROR "libv4l-dev required for CHANNEL_RDPECAM_CLIENT") endif() option(RDPECAM_INPUT_FORMAT_H264 "[MS-RDPECAM] Enable H264 camera format (passthrough)" ON) if(RDPECAM_INPUT_FORMAT_H264) - add_definitions("-DWITH_INPUT_FORMAT_H264") + add_compile_definitions("WITH_INPUT_FORMAT_H264") endif() option(RDPECAM_INPUT_FORMAT_MJPG "[MS-RDPECAM] Enable MJPG camera format" ON) if(RDPECAM_INPUT_FORMAT_MJPG) - add_definitions("-DWITH_INPUT_FORMAT_MJPG") + add_compile_definitions("WITH_INPUT_FORMAT_MJPG") endif() include_directories(SYSTEM ${SWSCALE_INCLUDE_DIRS}) diff --git a/channels/tsmf/client/CMakeLists.txt b/channels/tsmf/client/CMakeLists.txt index 567875922..51ae4c5fc 100644 --- a/channels/tsmf/client/CMakeLists.txt +++ b/channels/tsmf/client/CMakeLists.txt @@ -27,7 +27,7 @@ endif() if(WITH_GSTREAMER_1_0) if(gstreamer_FOUND) - add_definitions(-DWITH_GSTREAMER_1_0) + add_compile_definitions(WITH_GSTREAMER_1_0) else() message(WARNING "gstreamer not detected, disabling support") endif() diff --git a/channels/tsmf/client/gstreamer/CMakeLists.txt b/channels/tsmf/client/gstreamer/CMakeLists.txt index 1f724399e..75c15d7eb 100644 --- a/channels/tsmf/client/gstreamer/CMakeLists.txt +++ b/channels/tsmf/client/gstreamer/CMakeLists.txt @@ -45,7 +45,7 @@ else() endif() if(X11_Xext_FOUND) - add_definitions(-DWITH_XEXT=1) + add_compile_definitions(WITH_XEXT=1) endif() endif() diff --git a/client/SDL/CMakeLists.txt b/client/SDL/CMakeLists.txt index 490cca260..72d2a0d8a 100644 --- a/client/SDL/CMakeLists.txt +++ b/client/SDL/CMakeLists.txt @@ -52,10 +52,10 @@ else() endif() if(WITH_DEBUG_SDL_EVENTS) - add_definitions(-DWITH_DEBUG_SDL_EVENTS) + add_compile_definitions(WITH_DEBUG_SDL_EVENTS) endif() if(WITH_DEBUG_SDL_KBD_EVENTS) - add_definitions(-DWITH_DEBUG_SDL_KBD_EVENTS) + add_compile_definitions(WITH_DEBUG_SDL_KBD_EVENTS) endif() include(CMakeDependentOption) diff --git a/client/SDL/SDL2/dialogs/CMakeLists.txt b/client/SDL/SDL2/dialogs/CMakeLists.txt index d86b5345a..4539b7a69 100644 --- a/client/SDL/SDL2/dialogs/CMakeLists.txt +++ b/client/SDL/SDL2/dialogs/CMakeLists.txt @@ -56,7 +56,7 @@ find_sdl_component(SDL2_ttf) option(WITH_SDL_IMAGE_DIALOGS "Build with SDL_image support (recommended)" OFF) if(WITH_SDL_IMAGE_DIALOGS) find_sdl_component(SDL2_image) - add_definitions(-DWITH_SDL_IMAGE_DIALOGS) + add_compile_definitions(WITH_SDL_IMAGE_DIALOGS) endif() add_subdirectory(res) diff --git a/client/SDL/SDL3/dialogs/CMakeLists.txt b/client/SDL/SDL3/dialogs/CMakeLists.txt index d49af715e..fbf013544 100644 --- a/client/SDL/SDL3/dialogs/CMakeLists.txt +++ b/client/SDL/SDL3/dialogs/CMakeLists.txt @@ -58,7 +58,7 @@ find_sdl_component(SDL3_ttf) option(WITH_SDL_IMAGE_DIALOGS "Build with SDL_image support (recommended)" OFF) if(WITH_SDL_IMAGE_DIALOGS) find_sdl_component(SDL3_image) - add_definitions(-DWITH_SDL_IMAGE_DIALOGS) + add_compile_definitions(WITH_SDL_IMAGE_DIALOGS) endif() add_subdirectory(res) diff --git a/client/SDL/common/res/CMakeLists.txt b/client/SDL/common/res/CMakeLists.txt index ff8ec997c..a67289402 100644 --- a/client/SDL/common/res/CMakeLists.txt +++ b/client/SDL/common/res/CMakeLists.txt @@ -67,7 +67,7 @@ if(SDL_USE_COMPILED_RESOURCES) foreach(FILE ${RES_FONT_FILES}) convert_to_bin("${FILE}" "fonts") endforeach() - add_definitions(-DSDL_USE_COMPILED_RESOURCES) + add_compile_definitions(SDL_USE_COMPILED_RESOURCES) set(FINIT ${CMAKE_CURRENT_BINARY_DIR}/resource-init.cpp) list(APPEND FACTORY_SRCS ${FINIT}) @@ -94,7 +94,7 @@ else() string(APPEND SDL_RESOURCE_ROOT "${FREERDP_VERSION_MAJOR}") endif() - add_definitions(-DSDL_RESOURCE_ROOT="${SDL_RESOURCE_ROOT}") + add_compile_definitions(SDL_RESOURCE_ROOT="${SDL_RESOURCE_ROOT}") if(WITH_SDL_IMAGE_DIALOGS) install(FILES ${RES_SVG_FILES} DESTINATION ${SDL_RESOURCE_ROOT}/images) diff --git a/client/Windows/CMakeLists.txt b/client/Windows/CMakeLists.txt index f5c3a05fd..37f0bab34 100644 --- a/client/Windows/CMakeLists.txt +++ b/client/Windows/CMakeLists.txt @@ -45,12 +45,12 @@ option(WITH_WINDOWS_CERT_STORE "Build ${MODULE_NAME} with additional certificate validation against windows certificate store" ON ) if(WITH_WINDOWS_CERT_STORE) - add_definitions("-DWITH_WINDOWS_CERT_STORE") + add_compile_definitions("WITH_WINDOWS_CERT_STORE") endif() option(WITH_WIN_CONSOLE "Build ${MODULE_NAME} with console support" OFF) if(WITH_WIN_CONSOLE) - add_definitions("-DWITH_WIN_CONSOLE") + add_compile_definitions("WITH_WIN_CONSOLE") set(WIN32_GUI_FLAG "TRUE") else() set(WIN32_GUI_FLAG "WIN32") @@ -58,7 +58,7 @@ endif() option(WITH_PROGRESS_BAR "Build ${MODULE_NAME} with connect progress bar (Windows 7+ or 2008 R2+)" ON) if(WITH_PROGRESS_BAR) - add_definitions("-DWITH_PROGRESS_BAR") + add_compile_definitions("WITH_PROGRESS_BAR") endif() if(CLIENT_INTERFACE_SHARED) diff --git a/client/X11/CMakeLists.txt b/client/X11/CMakeLists.txt index 1da67d39e..5fd376599 100644 --- a/client/X11/CMakeLists.txt +++ b/client/X11/CMakeLists.txt @@ -92,7 +92,7 @@ set(PRIV_LIBS ${X11_LIBRARIES}) find_package(X11 REQUIRED) if(X11_XShm_FOUND) - add_definitions(-DWITH_XSHM) + add_compile_definitions(WITH_XSHM) include_directories(SYSTEM ${X11_XShm_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xext_LIB}) endif() @@ -101,7 +101,7 @@ option(WITH_XINERAMA "[X11] enable xinerama" ON) if(WITH_XINERAMA) find_package(X11 REQUIRED) if(X11_Xinerama_FOUND) - add_definitions(-DWITH_XINERAMA) + add_compile_definitions(WITH_XINERAMA) include_directories(SYSTEM ${X11_Xinerama_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xinerama_LIB}) endif() @@ -111,7 +111,7 @@ option(WITH_XEXT "[X11] enable Xext" ON) if(WITH_XEXT) find_package(X11 REQUIRED) if(X11_Xext_FOUND) - add_definitions(-DWITH_XEXT) + add_compile_definitions(WITH_XEXT) list(APPEND PRIV_LIBS ${X11_Xext_LIB}) endif() endif() @@ -120,7 +120,7 @@ option(WITH_XCURSOR "[X11] enable Xcursor" ON) if(WITH_XCURSOR) find_package(X11 REQUIRED) if(X11_Xcursor_FOUND) - add_definitions(-DWITH_XCURSOR) + add_compile_definitions(WITH_XCURSOR) include_directories(SYSTEM ${X11_Xcursor_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xcursor_LIB}) endif() @@ -130,7 +130,7 @@ option(WITH_XV "[X11] enable Xv" ON) if(WITH_XV) find_package(X11 REQUIRED) if(X11_Xv_FOUND) - add_definitions(-DWITH_XV) + add_compile_definitions(WITH_XV) include_directories(SYSTEM ${X11_Xv_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xv_LIB}) endif() @@ -140,7 +140,7 @@ option(WITH_XI "[X11] enable Xi" ON) if(WITH_XI) find_package(X11 REQUIRED) if(X11_Xi_FOUND) - add_definitions(-DWITH_XI) + add_compile_definitions(WITH_XI) include_directories(SYSTEM ${X11_Xi_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xi_LIB}) endif() @@ -150,7 +150,7 @@ option(WITH_XRENDER "[X11] enable XRender" ON) if(WITH_XRENDER) find_package(X11 REQUIRED) if(X11_Xrender_FOUND) - add_definitions(-DWITH_XRENDER) + add_compile_definitions(WITH_XRENDER) include_directories(SYSTEM ${X11_Xrender_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xrender_LIB}) endif() @@ -160,7 +160,7 @@ option(WITH_XRANDR "[X11] enable XRandR" ON) if(WITH_XRANDR) find_package(X11 REQUIRED) if(X11_Xrandr_FOUND) - add_definitions(-DWITH_XRANDR) + add_compile_definitions(WITH_XRANDR) include_directories(SYSTEM ${X11_Xrandr_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xrandr_LIB}) endif() @@ -170,7 +170,7 @@ option(WITH_XFIXES "[X11] enable Xfixes" ON) if(WITH_XFIXES) find_package(X11 REQUIRED) if(X11_Xfixes_FOUND) - add_definitions(-DWITH_XFIXES) + add_compile_definitions(WITH_XFIXES) include_directories(SYSTEM ${X11_Xfixes_INCLUDE_PATH}) list(APPEND PRIV_LIBS ${X11_Xfixes_LIB}) endif() diff --git a/client/common/CMakeLists.txt b/client/common/CMakeLists.txt index d96a0c2d0..fedac6c5e 100644 --- a/client/common/CMakeLists.txt +++ b/client/common/CMakeLists.txt @@ -53,10 +53,10 @@ if(WITH_FUSE) pkg_check_modules(FUSE3 REQUIRED fuse3) include_directories(SYSTEM ${FUSE3_INCLUDE_DIRS}) - add_definitions(-DWITH_FUSE) + add_compile_definitions(WITH_FUSE) list(APPEND LIBS ${FUSE3_LIBRARIES}) - add_definitions(-D_FILE_OFFSET_BITS=64) + add_compile_definitions(_FILE_OFFSET_BITS=64) endif() include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR}) diff --git a/cmake/CFlagsToVar.cmake b/cmake/CFlagsToVar.cmake index 24a13f8ea..c6e9999e6 100644 --- a/cmake/CFlagsToVar.cmake +++ b/cmake/CFlagsToVar.cmake @@ -1,12 +1,11 @@ -function(CFlagsToVar NAME) +function(CFlagsToVar NAME CFG) + string(TOUPPER "${CFG}" UCFG) set(C_FLAGS ${CMAKE_C_FLAGS}) string(REPLACE "${CMAKE_SOURCE_DIR}" "" C_FLAGS "${C_FLAGS}") string(REPLACE "${CMAKE_BINARY_DIR}" "" C_FLAGS "${C_FLAGS}") - if(CMAKE_BUILD_TYPE) - string(TOUPPER "${CMAKE_BUILD_TYPE}" CAPS_BUILD_TYPE) - string(APPEND C_FLAGS " ${CMAKE_C_FLAGS_${CAPS_BUILD_TYPE}}") - endif() + string(APPEND C_FLAGS " ${CMAKE_C_FLAGS_${UCFG}}") + string(REPLACE "\$" "\\\$" C_FLAGS "${C_FLAGS}") string(REPLACE "\"" "\\\"" C_FLAGS "${C_FLAGS}") set(${NAME} ${C_FLAGS} PARENT_SCOPE) diff --git a/cmake/CXXCompilerFlags.cmake b/cmake/CXXCompilerFlags.cmake index ecb516ab0..292a8fedf 100644 --- a/cmake/CXXCompilerFlags.cmake +++ b/cmake/CXXCompilerFlags.cmake @@ -69,7 +69,7 @@ endif() # https://stackoverflow.com/questions/4913922/possible-problems-with-nominmax-on-visual-c if(WIN32) - add_compile_options($<$:-DNOMINMAX>) + add_compile_definitions($<$:NOMINMAX>) endif() set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "default CXXFLAGS") diff --git a/cmake/CommonConfigOptions.cmake b/cmake/CommonConfigOptions.cmake index 634c8d3bf..31a2ef3a6 100644 --- a/cmake/CommonConfigOptions.cmake +++ b/cmake/CommonConfigOptions.cmake @@ -9,7 +9,7 @@ option(BUILD_SHARED_LIBS "Build shared libraries" ON) # We want to control the winpr assert for the whole project option(WITH_VERBOSE_WINPR_ASSERT "Compile with verbose WINPR_ASSERT." ON) if(WITH_VERBOSE_WINPR_ASSERT) - add_definitions(-DWITH_VERBOSE_WINPR_ASSERT) + add_compile_definitions(WITH_VERBOSE_WINPR_ASSERT) endif() # known issue on android, thus disabled until we support newer CMake @@ -49,6 +49,10 @@ if(CMAKE_BUILD_TYPE) endif() endif() +if(CMAKE_CONFIGURATION_TYPES) + set(CMAKE_CONFIGURATION_TYPES "Release;Debug;MinSizeRel;RelWithDebInfo" CACHE INTERNAL "freerdp default") +endif() + include(PlatformDefaults) include(PreventInSourceBuilds) include(GNUInstallDirsWrapper) diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake index 166030aba..9d0a052f9 100644 --- a/cmake/GetGitRevisionDescription.cmake +++ b/cmake/GetGitRevisionDescription.cmake @@ -30,8 +30,6 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -include(CleaningConfigureFile) - if(__get_git_revision_description) return() endif() @@ -65,9 +63,9 @@ function(get_git_head_revision _refspecvar _hashvar) return() endif() set(HEAD_FILE "${GIT_DATA}/HEAD") - cleaning_configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY) + configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY) - cleaning_configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" "${GIT_DATA}/grabRef.cmake" @ONLY) + configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" "${GIT_DATA}/grabRef.cmake" @ONLY) include("${GIT_DATA}/grabRef.cmake") set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) diff --git a/cmake/MSVCRuntime.cmake b/cmake/MSVCRuntime.cmake index aa4587d0c..2aafd7255 100644 --- a/cmake/MSVCRuntime.cmake +++ b/cmake/MSVCRuntime.cmake @@ -18,9 +18,7 @@ if(MSVC) else() set(MSVC_DEFAULT_RUNTIME "MultiThreaded") - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - string(APPEND MSVC_DEFAULT_RUNTIME "Debug") - endif() + string(APPEND MSVC_DEFAULT_RUNTIME "$<$:Debug>") if(BUILD_SHARED_LIBS) string(APPEND MSVC_DEFAULT_RUNTIME "DLL") diff --git a/cmake/PlatformDefaults.cmake b/cmake/PlatformDefaults.cmake index 11337d9f4..b3d4356db 100644 --- a/cmake/PlatformDefaults.cmake +++ b/cmake/PlatformDefaults.cmake @@ -10,13 +10,13 @@ if(USE_PLATFORM_DEFAULT) # default defines or other required preferences per platform if((CMAKE_SYSTEM_NAME MATCHES "WindowsStore") AND (CMAKE_SYSTEM_VERSION MATCHES "10.0")) set(UWP 1 CACHE BOOL "platform default") - add_definitions("-D_UWP") + add_compile_definitions("_UWP") set(CMAKE_WINDOWS_VERSION "WIN10" CACHE STRING "platform default") endif() if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") # Linux already does define _POSIX_C_SOURCE by default, nothing to do - add_definitions("-D_FILE_OFFSET_BITS=64") + add_compile_definitions("_FILE_OFFSET_BITS=64") set(WINPR_TIMEZONE_FILE "/etc/timezone") endif() @@ -25,21 +25,21 @@ if(USE_PLATFORM_DEFAULT) set(FREEBSD TRUE CACHE INTERNAL "platform default") # we want POSIX 2008. FreeBSD 14 does only support 2001 fully, but the subset we require from 2008 # is implemented, so ignore _POSIX_VERSION from unistd.h - add_definitions("-D_POSIX_C_SOURCE=200809L") + add_compile_definitions("_POSIX_C_SOURCE=200809L") # TODO: FreeBSD allows mixing POSIX and BSD API calls if we do not set # _POSIX_C_SOURCE but lack a macro to re-enable the BSD calls... - add_definitions("-D__BSD_VISIBLE") + add_compile_definitions("__BSD_VISIBLE") # There are some symbols only visible for XOpen standard - add_definitions("-D_XOPEN_SOURCE=700") - add_definitions("-D_FILE_OFFSET_BITS=64") + add_compile_definitions("_XOPEN_SOURCE=700") + add_compile_definitions("_FILE_OFFSET_BITS=64") set(WINPR_TIMEZONE_FILE "/var/db/zoneinfo") endif() if("${CMAKE_SYSTEM_NAME}" MATCHES "SunOS") # TODO: Does somebody still use this? please show yourself and # tell us if this still works. - add_definitions("-D_POSIX_PTHREAD_SEMANTICS") + add_compile_definitions("_POSIX_PTHREAD_SEMANTICS") list(APPEND CMAKE_STANDARD_LIBRARIES rt) set(CMAKE_STANDARD_LIBRARIES ${CMAKE_STANDARD_LIBRARIES} CACHE STRING "platform default") set(WITH_SUN true CACHE BOOL "platform default") @@ -48,18 +48,18 @@ if(USE_PLATFORM_DEFAULT) if("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") # we want POSIX 2008. MacOS does only support 2001 fully, but the subset we require from 2008 # is implemented, so ignore _POSIX_VERSION from unistd.h - add_definitions("-D_POSIX_C_SOURCE=200809L") + add_compile_definitions("_POSIX_C_SOURCE=200809L") # as _POSIX_C_SOURCE sets a fully POSIX confirmant environment re-enable # MacOS API visibility by defining the following feature test macro - add_definitions("-D_DARWIN_C_SOURCE") + add_compile_definitions("_DARWIN_C_SOURCE") endif() if(${CMAKE_SYSTEM_NAME} MATCHES "kFreeBSD") set(BSD TRUE CACHE INTERNAL "platform default") set(KFREEBSD TRUE CACHE INTERNAL "platform default") - add_definitions(-DKFREEBSD) - add_definitions("-D_GNU_SOURCE") + add_compile_definitions(KFREEBSD) + add_compile_definitions("_GNU_SOURCE") endif() if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") @@ -73,14 +73,14 @@ if(USE_PLATFORM_DEFAULT) # we want POSIX 2008. FreeBSD 14 does only support 2001 fully, but the subset we require from 2008 # is implemented, so ignore _POSIX_VERSION from unistd.h - add_definitions("-D_POSIX_C_SOURCE=200809L") + add_compile_definitions("_POSIX_C_SOURCE=200809L") # TODO: FreeBSD allows mixing POSIX and BSD API calls if we do not set # _POSIX_C_SOURCE but lack a macro to re-enable the BSD calls... - add_definitions("-D__BSD_VISIBLE") + add_compile_definitions("__BSD_VISIBLE") # There are some symbols only visible for XOpen standard - add_definitions("-D_XOPEN_SOURCE=700") - add_definitions("-D_FILE_OFFSET_BITS=64") + add_compile_definitions("_XOPEN_SOURCE=700") + add_compile_definitions("_FILE_OFFSET_BITS=64") set(WINPR_TIMEZONE_FILE "/var/db/zoneinfo") endif() @@ -101,7 +101,7 @@ if(USE_PLATFORM_DEFAULT) if(NOT WINPR_TIMEZONE_FILE) set(WINPR_TIMEZONE_FILE "/var/db/zoneinfo") endif() - add_definitions("-DWINPR_TIMEZONE_FILE=\"${WINPR_TIMEZONE_FILE}\"") + add_compile_definitions("WINPR_TIMEZONE_FILE=\"${WINPR_TIMEZONE_FILE}\"") if(FREEBSD) find_path(EPOLLSHIM_INCLUDE_DIR NAMES sys/epoll.h sys/timerfd.h HINTS /usr/local/include/libepoll-shim) diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt index 1aee01888..14f8b4570 100644 --- a/libfreerdp/CMakeLists.txt +++ b/libfreerdp/CMakeLists.txt @@ -112,7 +112,7 @@ if(WITH_FDK_AAC) find_package(PkgConfig REQUIRED) pkg_check_modules(FDK_AAC REQUIRED fdk-aac) - add_definitions(-DWITH_FDK_AAC) + add_compile_definitions(WITH_FDK_AAC) include_directories(SYSTEM ${FDK_AAC_INCLUDE_DIRS}) link_directories(${FDK_AAC_LIBRARY_DIRS}) @@ -202,13 +202,13 @@ endif() addtargetwithresourcefile(${MODULE_NAME} FALSE "${FREERDP_VERSION}" LIBFREERDP_SRCS) if(WITH_RESOURCE_VERSIONING) - target_compile_definitions(${MODULE_NAME} PRIVATE -DWITH_RESOURCE_VERSIONING) + target_compile_definitions(${MODULE_NAME} PRIVATE WITH_RESOURCE_VERSIONING) endif() if(FREERDP_USE_VENDOR_PRODUCT_CONFIG_DIR) - target_compile_definitions(${MODULE_NAME} PRIVATE -DFREERDP_USE_VENDOR_PRODUCT_CONFIG_DIR) + target_compile_definitions(${MODULE_NAME} PRIVATE FREERDP_USE_VENDOR_PRODUCT_CONFIG_DIR) endif() -add_definitions(${LIBFREERDP_DEFINITIONS}) +add_compile_definitions(${LIBFREERDP_DEFINITIONS}) if(LIBFREERDP_COMPILE_OPTIONS) list(REMOVE_DUPLICATES LIBFREERDP_COMPILE_OPTIONS) @@ -216,7 +216,7 @@ if(LIBFREERDP_COMPILE_OPTIONS) endif() if(WITH_FULL_CONFIG_PATH) - add_definitions(-DWITH_FULL_CONFIG_PATH) + add_compile_definitions(WITH_FULL_CONFIG_PATH) endif() target_include_directories(${MODULE_NAME} INTERFACE $) diff --git a/libfreerdp/codec/test/CMakeLists.txt b/libfreerdp/codec/test/CMakeLists.txt index 5ee216d56..33173e10e 100644 --- a/libfreerdp/codec/test/CMakeLists.txt +++ b/libfreerdp/codec/test/CMakeLists.txt @@ -22,8 +22,8 @@ endif() create_test_sourcelist(SRCS ${DRIVER} ${TESTS}) -add_definitions(-DCMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") -add_definitions(-DCMAKE_CURRENT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}") +add_compile_definitions(CMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") +add_compile_definitions(CMAKE_CURRENT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}") add_executable(${MODULE_NAME} ${SRCS}) target_link_libraries(${MODULE_NAME} freerdp winpr) diff --git a/libfreerdp/core/CMakeLists.txt b/libfreerdp/core/CMakeLists.txt index 9d61dd631..40935eded 100644 --- a/libfreerdp/core/CMakeLists.txt +++ b/libfreerdp/core/CMakeLists.txt @@ -20,7 +20,7 @@ set(MODULE_PREFIX "FREERDP_CORE") check_include_files("ctype.h;linux/vm_sockets.h" HAVE_AF_VSOCK_H) -freerdp_definition_add(-DEXT_PATH="${FREERDP_EXTENSION_PATH}") +freerdp_definition_add(EXT_PATH="${FREERDP_EXTENSION_PATH}") freerdp_include_directory_add(${OPENSSL_INCLUDE_DIR}) diff --git a/libfreerdp/core/test/CMakeLists.txt b/libfreerdp/core/test/CMakeLists.txt index 1bb59c89e..736d45cab 100644 --- a/libfreerdp/core/test/CMakeLists.txt +++ b/libfreerdp/core/test/CMakeLists.txt @@ -15,7 +15,7 @@ set(FUZZERS TestFuzzCoreClient.c TestFuzzCoreServer.c TestFuzzCryptoCertificateD # Test not compatible with package tests, disable if(WITH_SAMPLE AND WITH_SERVER AND NOT WIN32 AND BUILD_TESTING_INTERNAL) - add_definitions(-DCMAKE_EXECUTABLE_SUFFIX="${CMAKE_EXECUTABLE_SUFFIX}") + add_compile_definitions(CMAKE_EXECUTABLE_SUFFIX="${CMAKE_EXECUTABLE_SUFFIX}") set(TESTS ${TESTS} TestConnect.c) else() message("Skipping connection tests, requires BUILD_TESTING_INTERNAL, WITH_SAMPLE and WITH_SERVER set!") @@ -25,8 +25,8 @@ create_test_sourcelist(SRCS ${DRIVER} ${TESTS}) add_executable(${MODULE_NAME} ${SRCS}) -add_definitions(-DTESTING_OUTPUT_DIRECTORY="${PROJECT_BINARY_DIR}") -add_definitions(-DTESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}") +add_compile_definitions(TESTING_OUTPUT_DIRECTORY="${PROJECT_BINARY_DIR}") +add_compile_definitions(TESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}") target_link_libraries(${MODULE_NAME} freerdp winpr freerdp-client) diff --git a/libfreerdp/crypto/test/CMakeLists.txt b/libfreerdp/crypto/test/CMakeLists.txt index 0b63231b8..351f978fb 100644 --- a/libfreerdp/crypto/test/CMakeLists.txt +++ b/libfreerdp/crypto/test/CMakeLists.txt @@ -19,7 +19,7 @@ add_executable(${MODULE_NAME} ${SRCS}) set(TEST_PATH ${CMAKE_CURRENT_SOURCE_DIR}) -add_definitions(-DTEST_SOURCE_DIR="${TEST_PATH}") +add_compile_definitions(TEST_SOURCE_DIR="${TEST_PATH}") target_link_libraries(${MODULE_NAME} freerdp winpr ${OPENSSL_LIBRARIES}) set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}") diff --git a/libfreerdp/gdi/CMakeLists.txt b/libfreerdp/gdi/CMakeLists.txt index 2dd7514ab..46bcaef07 100644 --- a/libfreerdp/gdi/CMakeLists.txt +++ b/libfreerdp/gdi/CMakeLists.txt @@ -22,7 +22,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) option(WITH_GFX_FRAME_DUMP "Dump GFX commands to directory" OFF) if(WITH_GFX_FRAME_DUMP) - freerdp_definition_add(-DWITH_GFX_FRAME_DUMP) + freerdp_definition_add(WITH_GFX_FRAME_DUMP) endif() file(GLOB ${MODULE_PREFIX}_SRCS LIST_DIRECTORIES false RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS "*.[ch]") diff --git a/libfreerdp/locale/CMakeLists.txt b/libfreerdp/locale/CMakeLists.txt index 9c9b9eabd..322761c55 100644 --- a/libfreerdp/locale/CMakeLists.txt +++ b/libfreerdp/locale/CMakeLists.txt @@ -31,8 +31,8 @@ set(APPLE_SRCS keyboard_apple.c keyboard_apple.h) include(CMakeDependentOption) cmake_dependent_option(WITH_KEYBOARD_LAYOUT_FROM_FILE "Use keyboard definitions from JSON file" OFF WITH_WINPR_JSON OFF) if(WITH_KEYBOARD_LAYOUT_FROM_FILE) - freerdp_definition_add(-DFREERDP_RESOURCE_ROOT="${FREERDP_RESOURCE_ROOT}") - freerdp_definition_add(-DWITH_KEYBOARD_LAYOUT_FROM_FILE) + freerdp_definition_add(FREERDP_RESOURCE_ROOT="${FREERDP_RESOURCE_ROOT}") + freerdp_definition_add(WITH_KEYBOARD_LAYOUT_FROM_FILE) install(FILES KeyboardLayoutMap.json DESTINATION ${FREERDP_RESOURCE_ROOT}) endif() @@ -55,18 +55,18 @@ endif() if(WITH_X11) find_package(X11 REQUIRED) - freerdp_definition_add(-DWITH_X11) + freerdp_definition_add(WITH_X11) freerdp_include_directory_add(${X11_INCLUDE_DIR}) list(APPEND SRCS ${X11_SRCS}) freerdp_library_add(${X11_LIBRARIES}) if(WITH_SUN) - freerdp_definition_add(-DWITH_SUN) + freerdp_definition_add(WITH_SUN) list(APPEND SRCS ${SUN_SRCS}) endif() if(X11_Xkbfile_FOUND AND (NOT APPLE)) - freerdp_definition_add(-DWITH_XKBFILE) + freerdp_definition_add(WITH_XKBFILE) freerdp_include_directory_add(${X11_Xkbfile_INCLUDE_PATH}) list(APPEND SRCS ${XKBFILE_SRCS}) freerdp_library_add(${X11_Xkbfile_LIB}) @@ -76,7 +76,7 @@ if(WITH_X11) endif() if(WITH_WAYLAND) - freerdp_definition_add(-DWITH_WAYLAND) + freerdp_definition_add(WITH_WAYLAND) endif() freerdp_module_add(${SRCS}) diff --git a/libfreerdp/locale/test/CMakeLists.txt b/libfreerdp/locale/test/CMakeLists.txt index 2b5f1f01e..d367f78c7 100644 --- a/libfreerdp/locale/test/CMakeLists.txt +++ b/libfreerdp/locale/test/CMakeLists.txt @@ -13,8 +13,8 @@ if(BUILD_TESTING_INTERNAL) add_executable(${MODULE_NAME} ${SRCS}) - add_definitions(-DTESTING_OUTPUT_DIRECTORY="${PROJECT_BINARY_DIR}") - add_definitions(-DTESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}") + add_compile_definitions(TESTING_OUTPUT_DIRECTORY="${PROJECT_BINARY_DIR}") + add_compile_definitions(TESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}") target_link_libraries(${MODULE_NAME} freerdp winpr freerdp-client) diff --git a/rdtk/CMakeLists.txt b/rdtk/CMakeLists.txt index b8d418de3..034184548 100644 --- a/rdtk/CMakeLists.txt +++ b/rdtk/CMakeLists.txt @@ -67,7 +67,7 @@ if(RDTK_FORCE_STATIC_BUILD) set(BUILD_SHARED_LIBS OFF) endif() -add_definitions(-DRDTK_EXPORTS) +add_compile_definitions(RDTK_EXPORTS) if(NOT IOS) check_include_files(stdbool.h RDTK_HAVE_STDBOOL_H) diff --git a/server/Sample/CMakeLists.txt b/server/Sample/CMakeLists.txt index e46bb62ee..393e1a23f 100644 --- a/server/Sample/CMakeLists.txt +++ b/server/Sample/CMakeLists.txt @@ -53,7 +53,7 @@ file(COPY test_icon.bmp DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) addtargetwithresourcefile(${MODULE_NAME} TRUE "${FREERDP_VERSION}" SRCS) -target_compile_definitions(${MODULE_NAME} PRIVATE -DSAMPLE_RESOURCE_ROOT="${SAMPLE_RESOURCE_ROOT}") +target_compile_definitions(${MODULE_NAME} PRIVATE SAMPLE_RESOURCE_ROOT="${SAMPLE_RESOURCE_ROOT}") list(APPEND LIBS freerdp-server) list(APPEND LIBS winpr freerdp) diff --git a/server/shadow/Mac/CMakeLists.txt b/server/shadow/Mac/CMakeLists.txt index 7137a8822..a66015683 100644 --- a/server/shadow/Mac/CMakeLists.txt +++ b/server/shadow/Mac/CMakeLists.txt @@ -9,13 +9,13 @@ find_package(PAM) set(LIBS ${IOKIT} ${IOSURFACE} ${CARBON}) if(PAM_FOUND) - add_definitions(-DWITH_PAM) + add_compile_definitions(WITH_PAM) include_directories(SYSTEM ${PAM_INCLUDE_DIR}) list(APPEND LIBS ${PAM_LIBRARY}) else() message("building without PAM authentication support") endif() -add_definitions(-DWITH_SHADOW_MAC) +add_compile_definitions(WITH_SHADOW_MAC) add_library(freerdp-shadow-subsystem-impl STATIC mac_shadow.h mac_shadow.c) target_link_libraries(freerdp-shadow-subsystem-impl PRIVATE ${LIBS}) diff --git a/server/shadow/Win/CMakeLists.txt b/server/shadow/Win/CMakeLists.txt index ac543faca..48f5d14c4 100644 --- a/server/shadow/Win/CMakeLists.txt +++ b/server/shadow/Win/CMakeLists.txt @@ -1,7 +1,7 @@ include(WarnUnmaintained) warn_unmaintained("windows shadow server subsystem") -add_definitions(-DWITH_SHADOW_WIN) +add_compile_definitions(WITH_SHADOW_WIN) add_library( freerdp-shadow-subsystem-impl STATIC win_dxgi.c diff --git a/server/shadow/X11/CMakeLists.txt b/server/shadow/X11/CMakeLists.txt index f0f88e448..24e32566d 100644 --- a/server/shadow/X11/CMakeLists.txt +++ b/server/shadow/X11/CMakeLists.txt @@ -1,67 +1,67 @@ find_package(X11 REQUIRED) if(X11_FOUND) - add_definitions(-DWITH_X11) + add_compile_definitions(WITH_X11) include_directories(SYSTEM ${X11_INCLUDE_DIR}) list(APPEND LIBS ${X11_LIBRARIES}) endif() if(X11_XShm_FOUND) - add_definitions(-DWITH_XSHM) + add_compile_definitions(WITH_XSHM) include_directories(SYSTEM ${X11_XShm_INCLUDE_PATH}) list(APPEND LIBS ${X11_XShm_LIB}) endif() if(X11_Xext_FOUND) - add_definitions(-DWITH_XEXT) + add_compile_definitions(WITH_XEXT) list(APPEND LIBS ${X11_Xext_LIB}) endif() if(X11_Xinerama_FOUND) - add_definitions(-DWITH_XINERAMA) + add_compile_definitions(WITH_XINERAMA) include_directories(SYSTEM ${X11_Xinerama_INCLUDE_PATH}) list(APPEND LIBS ${X11_Xinerama_LIB}) endif() if(X11_Xdamage_FOUND) - add_definitions(-DWITH_XDAMAGE) + add_compile_definitions(WITH_XDAMAGE) include_directories(SYSTEM ${X11_Xdamage_INCLUDE_PATH}) list(APPEND LIBS ${X11_Xdamage_LIB}) endif() if(X11_Xfixes_FOUND) - add_definitions(-DWITH_XFIXES) + add_compile_definitions(WITH_XFIXES) include_directories(SYSTEM ${X11_Xfixes_INCLUDE_PATH}) list(APPEND LIBS ${X11_Xfixes_LIB}) endif() if(X11_XTest_FOUND) - add_definitions(-DWITH_XTEST) + add_compile_definitions(WITH_XTEST) include_directories(SYSTEM ${X11_XTest_INCLUDE_PATH}) list(APPEND LIBS ${X11_XTest_LIB}) endif() # XCursor and XRandr are currently not used so don't link them #if(X11_Xcursor_FOUND) -# add_definitions(-DWITH_XCURSOR) +# add_compile_definitions(WITH_XCURSOR) # include_directories(SYSTEM ${X11_Xcursor_INCLUDE_PATH}) # list(APPEND LIBS ${X11_Xcursor_LIB}) #endif() #if(X11_Xrandr_FOUND) -# add_definitions(-DWITH_XRANDR) +# add_compile_definitions(WITH_XRANDR) # include_directories(SYSTEM ${X11_Xrandr_INCLUDE_PATH}) # list(APPEND LIBS ${X11_Xrandr_LIB}) #endif() find_package(PAM) if(PAM_FOUND) - add_definitions(-DWITH_PAM) + add_compile_definitions(WITH_PAM) include_directories(SYSTEM ${PAM_INCLUDE_DIR}) list(APPEND LIBS ${PAM_LIBRARY}) else() message("building without PAM authentication support") endif() -add_definitions(-DWITH_SHADOW_X11) +add_compile_definitions(WITH_SHADOW_X11) add_library(freerdp-shadow-subsystem-impl STATIC x11_shadow.h x11_shadow.c) target_link_libraries(freerdp-shadow-subsystem-impl PRIVATE ${LIBS}) diff --git a/uwac/libuwac/CMakeLists.txt b/uwac/libuwac/CMakeLists.txt index d294d9ece..03b7ed0a0 100644 --- a/uwac/libuwac/CMakeLists.txt +++ b/uwac/libuwac/CMakeLists.txt @@ -58,7 +58,7 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include") include_directories("${CMAKE_CURRENT_BINARY_DIR}/../include") include_directories("${CMAKE_CURRENT_BINARY_DIR}/protocols") -add_definitions(-DBUILD_IVI -DBUILD_FULLSCREEN_SHELL -DENABLE_XKBCOMMON) +add_compile_definitions(BUILD_IVI BUILD_FULLSCREEN_SHELL ENABLE_XKBCOMMON) set(${MODULE_PREFIX}_SRCS ${GENERATED_SOURCES} diff --git a/winpr/CMakeLists.txt b/winpr/CMakeLists.txt index c74d74c1c..fc9c1fc2e 100644 --- a/winpr/CMakeLists.txt +++ b/winpr/CMakeLists.txt @@ -43,7 +43,7 @@ if(NOT FREERDP_UNIFIED_BUILD) if(EXPORT_ALL_SYMBOLS) # set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - add_definitions(-DEXPORT_ALL_SYMBOLS) + add_compile_definitions(EXPORT_ALL_SYMBOLS) endif() if(CMAKE_COMPILER_IS_GNUCC) @@ -63,7 +63,7 @@ if(NOT FREERDP_UNIFIED_BUILD) endif() # MSVC compatibility with system headers - add_definitions(-DNONAMELESSUNION) + add_compile_definitions(NONAMELESSUNION) endif() if(WIN32 AND NOT UWP) @@ -107,7 +107,7 @@ option(WINPR_USE_VENDOR_PRODUCT_CONFIG_DIR option(SSPI_DLL "Define and export SSPI API symbols for usage as a Windows SSPI DLL replacement" OFF) if(SSPI_DLL) - add_definitions("-DSSPI_DLL") + add_compile_definitions("SSPI_DLL") endif() option(WITH_DEBUG_NTLM "Print NTLM debug messages" ${DEFAULT_DEBUG_OPTION}) @@ -121,7 +121,7 @@ if(WITH_DEBUG_NLA) endif() if(WITH_WINPR_DEPRECATED) - add_definitions(-DWITH_WINPR_DEPRECATED) + add_compile_definitions(WITH_WINPR_DEPRECATED) endif() # Include cmake modules @@ -141,7 +141,7 @@ include(SetFreeRDPCMakeInstallDir) include(CMakePackageConfigHelpers) if(NOT WIN32) - add_definitions(-DWINPR_CRITICAL_SECTION_DISABLE_SPINCOUNT) + add_compile_definitions(WINPR_CRITICAL_SECTION_DISABLE_SPINCOUNT) endif() # Soname versioning @@ -313,8 +313,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}) @@ -325,11 +325,11 @@ if(NOT OPENSSL_FOUND AND NOT MBEDTLS_FOUND AND NOT LibreSSL_FOUND) endif() if(WITH_OPENSSL AND OPENSSL_FOUND) - add_definitions("-DWITH_OPENSSL") + add_compile_definitions("WITH_OPENSSL") endif() if(WITH_MBEDTLS AND MBEDTLS_FOUND) - add_definitions("-DWITH_MBEDTLS") + add_compile_definitions("WITH_MBEDTLS") endif() enable_testing() @@ -347,14 +347,14 @@ else() endif() option(WITH_PKCS11 "encryption, certificate validation, hashing functions" ${PKCS11_DEFAULT}) if(WITH_PKCS11) - add_definitions("-DWITH_PKCS11") + add_compile_definitions("WITH_PKCS11") endif() if(BUILD_SHARED_LIBS) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWINPR_DLL") + add_compile_definitions(WINPR_DLL) endif() -add_definitions(-DWINPR_EXPORTS) +add_compile_definitions(WINPR_EXPORTS) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include) diff --git a/winpr/libwinpr/CMakeLists.txt b/winpr/libwinpr/CMakeLists.txt index 05975f858..9e7c1b5ac 100644 --- a/winpr/libwinpr/CMakeLists.txt +++ b/winpr/libwinpr/CMakeLists.txt @@ -117,7 +117,7 @@ if(WITH_URIPARSER) winpr_include_directory_add(${uriparser_INCLUDE_DIRS}) winpr_library_add_private(${uriparser_LIBRARIES}) endif() - add_definitions("-DWITH_URIPARSER") + add_compile_definitions("WITH_URIPARSER") endif() if(NOT IOS) @@ -126,14 +126,14 @@ if(NOT IOS) check_function_exists(timer_settime TIMER_SETTIME) check_function_exists(timer_gettime TIMER_GETTIME) if(TIMER_CREATE AND TIMER_DELETE AND TIMER_SETTIME AND TIMER_GETTIME) - add_definitions(-DWITH_POSIX_TIMER) + add_compile_definitions(WITH_POSIX_TIMER) winpr_library_add_private(rt) endif() endif() check_function_exists(pthread_setschedprio PTHREAD_SETSCHEDPRIO) if(PTHREAD_SETSCHEDPRIO) - winpr_definition_add(-DPTHREAD_SETSCHEDPRIO) + winpr_definition_add(PTHREAD_SETSCHEDPRIO) endif() if(ANDROID) @@ -201,10 +201,10 @@ list(REMOVE_DUPLICATES WINPR_INCLUDES) addtargetwithresourcefile(${MODULE_NAME} FALSE "${WINPR_VERSION}" WINPR_SRCS) if(WITH_RESOURCE_VERSIONING) - target_compile_definitions(${MODULE_NAME} PRIVATE -DWITH_RESOURCE_VERSIONING) + target_compile_definitions(${MODULE_NAME} PRIVATE WITH_RESOURCE_VERSIONING) endif() if(WINPR_USE_VENDOR_PRODUCT_CONFIG_DIR) - target_compile_definitions(${MODULE_NAME} PRIVATE -DWINPR_USE_VENDOR_PRODUCT_CONFIG_DIR) + target_compile_definitions(${MODULE_NAME} PRIVATE WINPR_USE_VENDOR_PRODUCT_CONFIG_DIR) endif() if(APPLE) diff --git a/winpr/libwinpr/clipboard/test/CMakeLists.txt b/winpr/libwinpr/clipboard/test/CMakeLists.txt index 9370ecda1..963fc2431 100644 --- a/winpr/libwinpr/clipboard/test/CMakeLists.txt +++ b/winpr/libwinpr/clipboard/test/CMakeLists.txt @@ -22,8 +22,8 @@ if(WIN32) string(REPLACE "\\" "\\\\" TEST_CLIP_BMP "${TEST_CLIP_BMP}") endif() -add_definitions(-DTEST_CLIP_BMP="${TEST_CLIP_BMP}") -add_definitions(-DTEST_CLIP_PNG="${TEST_CLIP_PNG}") +add_compile_definitions(TEST_CLIP_BMP="${TEST_CLIP_BMP}") +add_compile_definitions(TEST_CLIP_PNG="${TEST_CLIP_PNG}") create_test_sourcelist(SRCS ${DRIVER} ${TESTS}) diff --git a/winpr/libwinpr/comm/CMakeLists.txt b/winpr/libwinpr/comm/CMakeLists.txt index edd524112..5210587c6 100644 --- a/winpr/libwinpr/comm/CMakeLists.txt +++ b/winpr/libwinpr/comm/CMakeLists.txt @@ -21,7 +21,7 @@ set(MODULE_PREFIX "WINPR_COMM") if(NOT WIN32) set(${MODULE_PREFIX}_SRCS comm.c comm.h) if(NOT EMSCRIPTEN) - winpr_definition_add(-DWINPR_HAVE_SERIAL_SUPPORT) + winpr_definition_add(WINPR_HAVE_SERIAL_SUPPORT) list( APPEND ${MODULE_PREFIX}_SRCS diff --git a/winpr/libwinpr/smartcard/CMakeLists.txt b/winpr/libwinpr/smartcard/CMakeLists.txt index 1064f6254..c5e9af87f 100644 --- a/winpr/libwinpr/smartcard/CMakeLists.txt +++ b/winpr/libwinpr/smartcard/CMakeLists.txt @@ -18,7 +18,7 @@ set(MODULE_PREFIX "WINPR_SMARTCARD") if(PCSC_WINPR_FOUND) - winpr_definition_add(-DWITH_WINPR_PCSC) + winpr_definition_add(WITH_WINPR_PCSC) endif() option(WITH_SMARTCARD_PCSC "Enable smartcard PCSC backend" ON) @@ -26,12 +26,12 @@ option(WITH_SMARTCARD_PCSC "Enable smartcard PCSC backend" ON) set(${MODULE_PREFIX}_SRCS smartcard.c smartcard.h) if(WITH_SMARTCARD_PCSC) - winpr_definition_add(-DWITH_SMARTCARD_PCSC) + winpr_definition_add(WITH_SMARTCARD_PCSC) list(APPEND ${MODULE_PREFIX}_SRCS smartcard_pcsc.c smartcard_pcsc.h) endif() if(WITH_SMARTCARD_INSPECT) - winpr_definition_add(-DWITH_SMARTCARD_INSPECT) + winpr_definition_add(WITH_SMARTCARD_INSPECT) list(APPEND ${MODULE_PREFIX}_SRCS smartcard_inspect.c smartcard_inspect.h) endif() diff --git a/winpr/libwinpr/sspi/CMakeLists.txt b/winpr/libwinpr/sspi/CMakeLists.txt index f89535ccb..64c4e465d 100644 --- a/winpr/libwinpr/sspi/CMakeLists.txt +++ b/winpr/libwinpr/sspi/CMakeLists.txt @@ -56,7 +56,7 @@ endif() option(WITH_DEBUG_SCHANNEL "Compile support for SCHANNEL debug" ${DEFAULT_DEBUG_OPTION}) if(WITH_DEBUG_SCHANNEL) - winpr_definition_add("-DWITH_DEBUG_SCHANNEL") + winpr_definition_add(WITH_DEBUG_SCHANNEL) endif() option(WITH_KRB5 "Compile support for kerberos authentication." ${KRB5_DEFAULT}) @@ -73,13 +73,13 @@ if(WITH_KRB5) winpr_library_add_link_options(${KRB5_LDFLAGS}) winpr_library_add_link_directory(${KRB5_LIBRARY_DIRS}) - winpr_definition_add("-DWITH_KRB5") + winpr_definition_add(WITH_KRB5) if(KRB5_FLAVOUR STREQUAL "MIT") - winpr_definition_add("-DWITH_KRB5_MIT") + winpr_definition_add(WITH_KRB5_MIT) list(APPEND ${MODULE_PREFIX}_KERBEROS_SRCS Kerberos/krb5glue_mit.c) elseif(KRB5_FLAVOUR STREQUAL "Heimdal") - winpr_definition_add("-DWITH_KRB5_HEIMDAL") + winpr_definition_add(WITH_KRB5_HEIMDAL) list(APPEND ${MODULE_PREFIX}_KERBEROS_SRCS Kerberos/krb5glue_heimdal.c) else() message(WARNING "Kerberos version not detected") @@ -90,7 +90,7 @@ if(WITH_KRB5) WITH_KRB5_NO_NTLM_FALLBACK "Do not fall back to NTLM if no kerberos ticket available" OFF "WITH_KRB5" OFF ) if(WITH_KRB5_NO_NTLM_FALLBACK) - add_definitions("-DWITH_KRB5_NO_NTLM_FALLBACK") + add_compile_definitions("WITH_KRB5_NO_NTLM_FALLBACK") endif() endif() diff --git a/winpr/libwinpr/timezone/CMakeLists.txt b/winpr/libwinpr/timezone/CMakeLists.txt index 1689c76a6..16fef5214 100644 --- a/winpr/libwinpr/timezone/CMakeLists.txt +++ b/winpr/libwinpr/timezone/CMakeLists.txt @@ -17,15 +17,15 @@ option(WITH_TIMEZONE_COMPILED "Use compiled in timezone definitions" ON) if(WITH_TIMEZONE_COMPILED) - winpr_definition_add(-DWITH_TIMEZONE_COMPILED) + winpr_definition_add(WITH_TIMEZONE_COMPILED) endif() include(CMakeDependentOption) cmake_dependent_option(WITH_TIMEZONE_FROM_FILE "Use timezone definitions from JSON file" OFF WITH_WINPR_JSON OFF) if(WITH_TIMEZONE_FROM_FILE) - winpr_definition_add(-DWINPR_RESOURCE_ROOT="${WINPR_RESOURCE_ROOT}") - winpr_definition_add(-DWITH_TIMEZONE_FROM_FILE) + winpr_definition_add(WINPR_RESOURCE_ROOT="${WINPR_RESOURCE_ROOT}") + winpr_definition_add(WITH_TIMEZONE_FROM_FILE) install(FILES TimeZoneNameMap.json DESTINATION ${WINPR_RESOURCE_ROOT}) endif() @@ -44,7 +44,7 @@ if(WITH_TIMEZONE_ICU) find_package(ICU COMPONENTS i18n uc REQUIRED) winpr_include_directory_add(${ICU_INCLUDE_DIRS}) winpr_library_add_private(${ICU_LIBRARIES}) - winpr_definition_add(-DWITH_TIMEZONE_ICU) + winpr_definition_add(WITH_TIMEZONE_ICU) else() list(APPEND SRCS WindowsZones.c WindowsZones.h) endif() diff --git a/winpr/libwinpr/utils/CMakeLists.txt b/winpr/libwinpr/utils/CMakeLists.txt index f9761446a..c68927470 100644 --- a/winpr/libwinpr/utils/CMakeLists.txt +++ b/winpr/libwinpr/utils/CMakeLists.txt @@ -24,7 +24,7 @@ option(WITH_LODEPNG "build WinPR with PNG support" OFF) if(WITH_LODEPNG) find_package(lodepng REQUIRED) - winpr_definition_add(-DWITH_LODEPNG) + winpr_definition_add(WITH_LODEPNG) set(WINPR_WITH_PNG ON CACHE BOOL "build cache") winpr_include_directory_add(${lodepng_INCLUDE_DIRS}) @@ -158,7 +158,7 @@ endif() if(WINPR_HAVE_EXECINFO_H) option(USE_EXECINFO "Use execinfo.h to generate backtraces" ON) if(USE_EXECINFO) - winpr_definition_add(-DUSE_EXECINFO) + winpr_definition_add(USE_EXECINFO) list(APPEND SRCS execinfo/debug.c execinfo/debug.h) endif() endif() @@ -166,7 +166,7 @@ endif() if(WINPR_HAVE_UNWIND_H) option(USE_UNWIND "Use unwind.h to generate backtraces" ON) if(USE_UNWIND) - winpr_definition_add(-DUSE_UNWIND) + winpr_definition_add(USE_UNWIND) list(APPEND SRCS unwind/debug.c unwind/debug.h) endif() endif() @@ -176,12 +176,12 @@ if(NOT WITH_JSON_DISABLED) if(JSONC_FOUND AND NOT WITH_CJSON_REQUIRED) winpr_library_add_private(${JSONC_LIBRARIES}) winpr_include_directory_add(${JSONC_INCLUDE_DIRS}) - winpr_definition_add(-DWITH_JSONC) + winpr_definition_add(WITH_JSONC) set(WITH_WINPR_JSON ON CACHE INTERNAL "internal") elseif(CJSON_FOUND) winpr_library_add_private(${CJSON_LIBRARIES}) winpr_include_directory_add(${CJSON_INCLUDE_DIRS}) - winpr_definition_add(-DWITH_CJSON) + winpr_definition_add(WITH_CJSON) set(WITH_WINPR_JSON ON CACHE INTERNAL "internal") endif() endif() diff --git a/winpr/libwinpr/utils/test/CMakeLists.txt b/winpr/libwinpr/utils/test/CMakeLists.txt index acabe5c33..24095718f 100644 --- a/winpr/libwinpr/utils/test/CMakeLists.txt +++ b/winpr/libwinpr/utils/test/CMakeLists.txt @@ -35,8 +35,8 @@ endif() create_test_sourcelist(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_DRIVER} ${${MODULE_PREFIX}_TESTS}) -add_definitions(-DTEST_SOURCE_PATH="${CMAKE_CURRENT_SOURCE_DIR}") -add_definitions(-DTEST_BINARY_PATH="${CMAKE_CURRENT_BINARY_DIR}") +add_compile_definitions(TEST_SOURCE_PATH="${CMAKE_CURRENT_SOURCE_DIR}") +add_compile_definitions(TEST_BINARY_PATH="${CMAKE_CURRENT_BINARY_DIR}") add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) diff --git a/winpr/tools/CMakeLists.txt b/winpr/tools/CMakeLists.txt index 144cec86c..559a683ad 100644 --- a/winpr/tools/CMakeLists.txt +++ b/winpr/tools/CMakeLists.txt @@ -87,7 +87,7 @@ include_directories(${WINPR_TOOLS_INCLUDES}) addtargetwithresourcefile(${MODULE_NAME} FALSE "${WINPR_VERSION}" WINPR_TOOLS_SRCS) -add_definitions(${WINPR_DEFINITIONS}) +add_compile_definitions(${WINPR_DEFINITIONS}) target_include_directories(${MODULE_NAME} INTERFACE $) target_link_libraries(${MODULE_NAME} PRIVATE ${WINPR_TOOLS_LIBS})