[cmake] set default build type

set with CACHE STRING FORCE to properly be picked up by configuration
tools
This commit is contained in:
akallabeth 2023-08-03 09:45:43 +02:00 committed by akallabeth
parent 0e458c8c2c
commit 8470b6ea26
9 changed files with 41 additions and 20 deletions

View File

@ -26,6 +26,11 @@ set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_EXTENSIONS ON)
# Default to release build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif()
add_custom_target(fuzzers add_custom_target(fuzzers
COMMENT "Build fuzzers") COMMENT "Build fuzzers")
@ -196,10 +201,6 @@ endif(CMAKE_CROSSCOMPILING)
# Turn on solution folders (2.8.4+) # Turn on solution folders (2.8.4+)
set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Default to release build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()
set(LIB_DEFAULT ON) set(LIB_DEFAULT ON)
if (IOS) if (IOS)

View File

@ -5,6 +5,10 @@ project(MacFreeRDP-library)
cmake_policy(SET CMP0026 OLD) cmake_policy(SET CMP0026 OLD)
cmake_policy(SET CMP0045 OLD) cmake_policy(SET CMP0045 OLD)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif()
set(MODULE_NAME "MacFreeRDP-library") set(MODULE_NAME "MacFreeRDP-library")
set(MODULE_OUTPUT_NAME "MacFreeRDP") set(MODULE_OUTPUT_NAME "MacFreeRDP")
set(MODULE_PREFIX "FREERDP_CLIENT_MAC_LIBRARY") set(MODULE_PREFIX "FREERDP_CLIENT_MAC_LIBRARY")
@ -58,7 +62,7 @@ set(${MODULE_PREFIX}_HEADERS
set(${MODULE_PREFIX}_RESOURCES "en.lproj/InfoPlist.strings") set(${MODULE_PREFIX}_RESOURCES "en.lproj/InfoPlist.strings")
# Include XIB file in Xcode resources. # Include XIB file in Xcode resources.
if("${CMAKE_GENERATOR}" MATCHES "Xcode") if("${CMAKE_GENERATOR}" MATCHES "Xcode")
message(STATUS "Adding Xcode XIB resources for ${MODULE_NAME}") message(STATUS "Adding Xcode XIB resources for ${MODULE_NAME}")
set(${MODULE_PREFIX}_RESOURCES ${${MODULE_PREFIX}_RESOURCES} ${${MODULE_PREFIX}_XIBS}) set(${MODULE_PREFIX}_RESOURCES ${${MODULE_PREFIX}_RESOURCES} ${${MODULE_PREFIX}_XIBS})
@ -75,12 +79,12 @@ set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "${MODULE_OUTPUT_NAM
# configures the framework to always be looked for in the application bundle in the Frameworks sub-folder. # configures the framework to always be looked for in the application bundle in the Frameworks sub-folder.
set_target_properties(${MODULE_NAME} PROPERTIES XCODE_ATTRIBUTE_INSTALL_PATH @executable_path/../Frameworks/) set_target_properties(${MODULE_NAME} PROPERTIES XCODE_ATTRIBUTE_INSTALL_PATH @executable_path/../Frameworks/)
set_target_properties(${MODULE_NAME} PROPERTIES set_target_properties(${MODULE_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY_DEBUG ${EXECUTABLE_OUTPUT_PATH} RUNTIME_OUTPUT_DIRECTORY_DEBUG ${EXECUTABLE_OUTPUT_PATH}
RUNTIME_OUTPUT_DIRECTORY_RELEASE ${EXECUTABLE_OUTPUT_PATH}) RUNTIME_OUTPUT_DIRECTORY_RELEASE ${EXECUTABLE_OUTPUT_PATH})
set_target_properties(${MODULE_NAME} PROPERTIES set_target_properties(${MODULE_NAME} PROPERTIES
FRAMEWORK TRUE FRAMEWORK TRUE
MACOSX_FRAMEWORK_IDENTIFIER com.awakecoding.${MODULE_NAME} MACOSX_FRAMEWORK_IDENTIFIER com.awakecoding.${MODULE_NAME}
FRAMEWORK_VERSION ${FREERDP_VERSION} FRAMEWORK_VERSION ${FREERDP_VERSION}
@ -119,12 +123,12 @@ else()
endif() endif()
if (${BUILD_SHARED_LIBS}) if (${BUILD_SHARED_LIBS})
# Add a post-build event to copy the dependent libraries in the framework bundle # Add a post-build event to copy the dependent libraries in the framework bundle
# Call install_name_tool to reassign the library install name # Call install_name_tool to reassign the library install name
foreach(LIB ${DEPENDENCIES}) foreach(LIB ${DEPENDENCIES})
# message("adding post-build dependency: ${LIB}") # message("adding post-build dependency: ${LIB}")
add_custom_command(TARGET ${MODULE_NAME} POST_BUILD add_custom_command(TARGET ${MODULE_NAME} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy COMMAND "${CMAKE_COMMAND}" -E copy
"$<TARGET_FILE:${LIB}>" "$<TARGET_FILE:${LIB}>"
"${CMAKE_CURRENT_BINARY_DIR}/${safe_configuration}/${MODULE_OUTPUT_NAME}.framework/Contents/$<TARGET_FILE_NAME:${LIB}>" "${CMAKE_CURRENT_BINARY_DIR}/${safe_configuration}/${MODULE_OUTPUT_NAME}.framework/Contents/$<TARGET_FILE_NAME:${LIB}>"
COMMENT "Copying ${LIB} to output directory" COMMENT "Copying ${LIB} to output directory"
@ -159,7 +163,7 @@ endif()
# skip generation of this project # skip generation of this project
find_program(IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin") find_program(IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin")
if (${IBTOOL} STREQUAL "IBTOOL-NOTFOUND") if (${IBTOOL} STREQUAL "IBTOOL-NOTFOUND")
message(SEND_ERROR "ibtool can not be found and is needed to compile the .xib files. It should have been installed with message(SEND_ERROR "ibtool can not be found and is needed to compile the .xib files. It should have been installed with
the Apple developer tools. The default system paths were searched in addition to ${OSX_DEVELOPER_ROOT}/usr/bin") the Apple developer tools. The default system paths were searched in addition to ${OSX_DEVELOPER_ROOT}/usr/bin")
endif() endif()
@ -170,9 +174,9 @@ endif()
# Compile the .xib files using the 'ibtool' program with the destination being the app package # Compile the .xib files using the 'ibtool' program with the destination being the app package
foreach(xib ${${MODULE_PREFIX}_XIBS}) foreach(xib ${${MODULE_PREFIX}_XIBS})
get_filename_component(XIB_WE ${xib} NAME_WE) get_filename_component(XIB_WE ${xib} NAME_WE)
add_custom_command (TARGET ${MODULE_NAME} POST_BUILD add_custom_command (TARGET ${MODULE_NAME} POST_BUILD
COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text
--compile ${CMAKE_CURRENT_BINARY_DIR}/${safe_configuration}/${MODULE_OUTPUT_NAME}.framework/Versions/${MACOSX_BUNDLE_SHORT_VERSION_STRING}/Resources/${XIB_WE}.nib ${CMAKE_CURRENT_SOURCE_DIR}/${xib} --compile ${CMAKE_CURRENT_BINARY_DIR}/${safe_configuration}/${MODULE_OUTPUT_NAME}.framework/Versions/${MACOSX_BUNDLE_SHORT_VERSION_STRING}/Resources/${XIB_WE}.nib ${CMAKE_CURRENT_SOURCE_DIR}/${xib}
COMMENT "Compiling ${xib}") COMMENT "Compiling ${xib}")
endforeach() endforeach()

View File

@ -39,6 +39,10 @@ option(WITH_DEBUG_SDL_EVENTS "[dangerous, not for release builds!] Debug SDL eve
option(WITH_DEBUG_SDL_KBD_EVENTS "[dangerous, not for release builds!] Debug SDL keyboard events" OFF) option(WITH_DEBUG_SDL_KBD_EVENTS "[dangerous, not for release builds!] Debug SDL keyboard events" OFF)
option(WITH_WIN_CONSOLE "Build ${PROJECT_NAME} with console support" ON) option(WITH_WIN_CONSOLE "Build ${PROJECT_NAME} with console support" ON)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif()
# Configure MSVC Runtime # Configure MSVC Runtime
if(MSVC) if(MSVC)
include(MSVCRuntime) include(MSVCRuntime)

View File

@ -27,6 +27,10 @@ option(CMAKE_VERBOSE_MAKEFILE "verbose CMake makefile" ON)
option(CMAKE_POSITION_INDEPENDENT_CODE "build with position independent code (-fPIC or -fPIE)" ON) option(CMAKE_POSITION_INDEPENDENT_CODE "build with position independent code (-fPIC or -fPIE)" ON)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif()
include(ConfigureFreeRDP) include(ConfigureFreeRDP)
include(GNUInstallDirsWrapper) include(GNUInstallDirsWrapper)

View File

@ -28,6 +28,10 @@ option(CMAKE_VERBOSE_MAKEFILE "verbose CMake makefile" ON)
option(CMAKE_POSITION_INDEPENDENT_CODE "build with position independent code (-fPIC or -fPIE)" ON) option(CMAKE_POSITION_INDEPENDENT_CODE "build with position independent code (-fPIC or -fPIE)" ON)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif()
include(ConfigureFreeRDP) include(ConfigureFreeRDP)
include(GNUInstallDirsWrapper) include(GNUInstallDirsWrapper)

View File

@ -16,6 +16,10 @@
# limitations under the License. # limitations under the License.
project(iFreeRDP) project(iFreeRDP)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif()
set(MODULE_NAME "iFreeRDP") set(MODULE_NAME "iFreeRDP")
set(MODULE_PREFIX "IFREERDP_CLIENT") set(MODULE_PREFIX "IFREERDP_CLIENT")
set(APP_TYPE MACOSX_BUNDLE) set(APP_TYPE MACOSX_BUNDLE)

View File

@ -44,13 +44,13 @@ if (NOT FREERDP_UNIFIED_BUILD)
set(WINPR_VERSION_MAJOR 3) set(WINPR_VERSION_MAJOR 3)
option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(BUILD_SHARED_LIBS "Build shared libraries" ON)
option(EXPORT_ALL_SYMBOLS "Export all symbols form library" OFF) option(EXPORT_ALL_SYMBOLS "Export all symbols form library" OFF)
option(BUILD_TESTING "Build library unit tests" ON) option(BUILD_TESTING "Build library unit tests" ON)
option(WITH_LIBRARY_VERSIONING "Use library version triplet" ON) option(WITH_LIBRARY_VERSIONING "Use library version triplet" ON)
# Default to release build type # Default to release build type
if(NOT CMAKE_BUILD_TYPE) if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release") set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif() endif()
if(CMAKE_COMPILER_IS_GNUCC) if(CMAKE_COMPILER_IS_GNUCC)

View File

@ -65,8 +65,8 @@ include(SetFreeRDPCMakeInstallDir)
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
include(GNUInstallDirsWrapper) include(GNUInstallDirsWrapper)
if (NOT CMAKE_BUILD_TYPE) if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif() endif()
if (NOT IOS) if (NOT IOS)

View File

@ -293,7 +293,7 @@ endif()
# Default to release build type # Default to release build type
if(NOT CMAKE_BUILD_TYPE) if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release") set(CMAKE_BUILD_TYPE "Release" CACHE STRING "project default" FORCE)
endif() endif()
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)