diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c47611c0c..5de23974f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,15 +28,15 @@ jobs: fail-fast: false matrix: platform: - - { name: Windows VS2019 x86, os: windows-2019, flags: -DSFML_USE_MESA3D=TRUE -GNinja } - - { name: Windows VS2019 x64, os: windows-2019, flags: -DSFML_USE_MESA3D=TRUE -GNinja } - - { name: Windows VS2022 x86, os: windows-2022, flags: -DSFML_USE_MESA3D=TRUE -GNinja } - - { name: Windows VS2022 x64, os: windows-2022, flags: -DSFML_USE_MESA3D=TRUE -GNinja } - - { name: Windows VS2022 ClangCL MSBuild, os: windows-2022, flags: -DSFML_USE_MESA3D=TRUE -T ClangCL } # ninja doesn't support specifying the toolset, so use the ClangCL toolset to test building with MSBuild as well - - { name: Windows VS2022 OpenGL ES, os: windows-2022, flags: -DSFML_USE_MESA3D=TRUE -DSFML_OPENGL_ES=ON -GNinja } - - { name: Windows VS2022 Unity, os: windows-2022, flags: -DSFML_USE_MESA3D=TRUE -DCMAKE_UNITY_BUILD=ON -GNinja } - - { name: Windows LLVM/Clang, os: windows-2022, flags: -DSFML_USE_MESA3D=TRUE -DCMAKE_CXX_COMPILER=clang++ -GNinja } - - { name: Windows MinGW, os: windows-2022, flags: -DSFML_USE_MESA3D=TRUE -DCMAKE_CXX_COMPILER=g++ -GNinja } + - { name: Windows VS2019 x86, os: windows-2019, flags: -DSFML_USE_MESA3D=ON -GNinja } + - { name: Windows VS2019 x64, os: windows-2019, flags: -DSFML_USE_MESA3D=ON -GNinja } + - { name: Windows VS2022 x86, os: windows-2022, flags: -DSFML_USE_MESA3D=ON -GNinja } + - { name: Windows VS2022 x64, os: windows-2022, flags: -DSFML_USE_MESA3D=ON -GNinja } + - { name: Windows VS2022 ClangCL MSBuild, os: windows-2022, flags: -DSFML_USE_MESA3D=ON -T ClangCL } # ninja doesn't support specifying the toolset, so use the ClangCL toolset to test building with MSBuild as well + - { name: Windows VS2022 OpenGL ES, os: windows-2022, flags: -DSFML_USE_MESA3D=ON -DSFML_OPENGL_ES=ON -GNinja } + - { name: Windows VS2022 Unity, os: windows-2022, flags: -DSFML_USE_MESA3D=ON -DCMAKE_UNITY_BUILD=ON -GNinja } + - { name: Windows LLVM/Clang, os: windows-2022, flags: -DSFML_USE_MESA3D=ON -DCMAKE_CXX_COMPILER=clang++ -GNinja } + - { name: Windows MinGW, os: windows-2022, flags: -DSFML_USE_MESA3D=ON -DCMAKE_CXX_COMPILER=g++ -GNinja } - { name: Linux GCC, os: ubuntu-22.04, flags: -GNinja } - { name: Linux Clang, os: ubuntu-22.04, flags: -DCMAKE_CXX_COMPILER=clang++ -GNinja , gcovr_options: '--gcov-executable="llvm-cov-$CLANG_VERSION gcov"' } - { name: Linux GCC DRM, os: ubuntu-22.04, flags: -DSFML_USE_DRM=ON -DSFML_RUN_DISPLAY_TESTS=OFF -GNinja } @@ -47,31 +47,31 @@ jobs: - { name: iOS, os: macos-12, flags: -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_ARCHITECTURES=arm64 } - { name: iOS Xcode, os: macos-12, flags: -DCMAKE_SYSTEM_NAME=iOS -GXcode -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO } config: - - { name: Shared, flags: -DBUILD_SHARED_LIBS=TRUE } - - { name: Static, flags: -DBUILD_SHARED_LIBS=FALSE } + - { name: Shared, flags: -DBUILD_SHARED_LIBS=ON } + - { name: Static, flags: -DBUILD_SHARED_LIBS=OFF } type: - { name: Release } - - { name: Debug, flags: -DCMAKE_BUILD_TYPE=Debug -DSFML_ENABLE_COVERAGE=TRUE } + - { name: Debug, flags: -DCMAKE_BUILD_TYPE=Debug -DSFML_ENABLE_COVERAGE=ON } include: - platform: { name: Windows VS2022 x64, os: windows-2022 } - config: { name: Static with PCH (MSVC), flags: -DSFML_USE_MESA3D=TRUE -GNinja -DBUILD_SHARED_LIBS=FALSE -DSFML_ENABLE_PCH=1 } + config: { name: Static with PCH (MSVC), flags: -DSFML_USE_MESA3D=ON -GNinja -DBUILD_SHARED_LIBS=OFF -DSFML_ENABLE_PCH=ON } - platform: { name: Linux GCC, os: ubuntu-22.04 } - config: { name: Static with PCH (GCC), flags: -GNinja -DCMAKE_CXX_COMPILER=g++ -DBUILD_SHARED_LIBS=FALSE -DSFML_ENABLE_PCH=1 } + config: { name: Static with PCH (GCC), flags: -GNinja -DCMAKE_CXX_COMPILER=g++ -DBUILD_SHARED_LIBS=OFF -DSFML_ENABLE_PCH=ON } - platform: { name: Linux Clang, os: ubuntu-22.04 } - config: { name: Static with PCH (Clang), flags: -GNinja -DCMAKE_CXX_COMPILER=clang++ -DBUILD_SHARED_LIBS=FALSE -DSFML_ENABLE_PCH=1 } + config: { name: Static with PCH (Clang), flags: -GNinja -DCMAKE_CXX_COMPILER=clang++ -DBUILD_SHARED_LIBS=OFF -DSFML_ENABLE_PCH=ON } - platform: { name: Windows MinGW, os: windows-2022 } - config: { name: Static Standard Libraries, flags: -GNinja -DSFML_USE_MESA3D=TRUE -DCMAKE_CXX_COMPILER=g++ -DSFML_USE_STATIC_STD_LIBS=TRUE } + config: { name: Static Standard Libraries, flags: -GNinja -DSFML_USE_MESA3D=ON -DCMAKE_CXX_COMPILER=g++ -DSFML_USE_STATIC_STD_LIBS=ON } - platform: { name: Windows MinGW, os: windows-2022 } - config: { name: Static with PCH (GCC), flags: -GNinja -DSFML_USE_MESA3D=TRUE -DCMAKE_CXX_COMPILER=g++ -DBUILD_SHARED_LIBS=FALSE -DSFML_ENABLE_PCH=1 -DSFML_ENABLE_STDLIB_ASSERTIONS=FALSE } # disabling stdlib assertions due to false positive + config: { name: Static with PCH (GCC), flags: -GNinja -DSFML_USE_MESA3D=ON -DCMAKE_CXX_COMPILER=g++ -DBUILD_SHARED_LIBS=OFF -DSFML_ENABLE_PCH=ON -DSFML_ENABLE_STDLIB_ASSERTIONS=OFF } # disabling stdlib assertions due to false positive - platform: { name: macOS, os: macos-12 } - config: { name: Frameworks, flags: -GNinja -DSFML_BUILD_FRAMEWORKS=TRUE -DBUILD_SHARED_LIBS=TRUE } + config: { name: Frameworks, flags: -GNinja -DSFML_BUILD_FRAMEWORKS=ON -DBUILD_SHARED_LIBS=ON } - platform: { name: macOS , os: macos-12 } - config: { name: System Deps, flags: -GNinja -DBUILD_SHARED_LIBS=TRUE -DSFML_USE_SYSTEM_DEPS=TRUE } + config: { name: System Deps, flags: -GNinja -DBUILD_SHARED_LIBS=ON -DSFML_USE_SYSTEM_DEPS=ON } - platform: { name: Android, os: ubuntu-22.04 } config: name: x86 (API 21) - flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=21 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=TRUE -DCMAKE_ANDROID_STL_TYPE=c++_shared -DSFML_RUN_DISPLAY_TESTS=OFF -DSFML_RUN_AUDIO_DEVICE_TESTS=OFF + flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=21 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=ON -DCMAKE_ANDROID_STL_TYPE=c++_shared -DSFML_RUN_DISPLAY_TESTS=OFF -DSFML_RUN_AUDIO_DEVICE_TESTS=OFF arch: x86 api: 21 libcxx: i686-linux-android/libc++_shared.so @@ -81,7 +81,7 @@ jobs: - platform: { name: Android, os: ubuntu-22.04 } config: name: x86_64 (API 24) - flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=x86_64 -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=24 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=TRUE -DCMAKE_ANDROID_STL_TYPE=c++_shared -DSFML_RUN_DISPLAY_TESTS=OFF -DSFML_RUN_AUDIO_DEVICE_TESTS=OFF + flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=x86_64 -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=24 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=ON -DCMAKE_ANDROID_STL_TYPE=c++_shared -DSFML_RUN_DISPLAY_TESTS=OFF -DSFML_RUN_AUDIO_DEVICE_TESTS=OFF arch: x86_64 api: 24 libcxx: x86_64-linux-android/libc++_shared.so @@ -91,7 +91,7 @@ jobs: - platform: { name: Android, os: ubuntu-22.04 } config: name: armeabi-v7a (API 29) - flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=29 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=TRUE -DCMAKE_ANDROID_STL_TYPE=c++_shared + flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=29 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=ON -DCMAKE_ANDROID_STL_TYPE=c++_shared arch: armeabi-v7a api: 29 # There are no emulators available for armeabi-v7a so we skip running the tests (we still build them) by not specifying emuapi @@ -99,7 +99,7 @@ jobs: - platform: { name: Android, os: ubuntu-22.04 } config: name: arm64-v8a (API 33) - flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=33 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=TRUE -DCMAKE_ANDROID_STL_TYPE=c++_shared -DSFML_RUN_DISPLAY_TESTS=OFF -DSFML_RUN_AUDIO_DEVICE_TESTS=OFF + flags: -GNinja -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=33 -DCMAKE_ANDROID_NDK=$ANDROID_NDK_ROOT -DBUILD_SHARED_LIBS=ON -DCMAKE_ANDROID_STL_TYPE=c++_shared -DSFML_RUN_DISPLAY_TESTS=OFF -DSFML_RUN_AUDIO_DEVICE_TESTS=OFF arch: arm64-v8a api: 33 libcxx: aarch64-linux-android/libc++_shared.so @@ -345,7 +345,7 @@ jobs: platform: - { name: Windows, os: windows-2022, flags: -GNinja } - { name: Linux, os: ubuntu-24.04 } - - { name: Linux DRM, os: ubuntu-24.04, flags: -DSFML_USE_DRM=TRUE } + - { name: Linux DRM, os: ubuntu-24.04, flags: -DSFML_USE_DRM=ON } - { name: Linux OpenGL ES, os: ubuntu-24.04, flags: -DSFML_OPENGL_ES=ON } - { name: macOS, os: macos-12 } - { name: iOS, os: macos-12, flags: -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_ARCHITECTURES=arm64 } diff --git a/CMakeLists.txt b/CMakeLists.txt index 40057998f..64f663f64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,37 +43,37 @@ include(GNUInstallDirs) # disable static libraries on Android if(SFML_OS_ANDROID) - set(BUILD_SHARED_LIBS TRUE) + set(BUILD_SHARED_LIBS ON) endif() # add options to select which modules to build -sfml_set_option(SFML_BUILD_WINDOW TRUE BOOL "TRUE to build SFML's Window module. This setting is ignored, if the graphics module is built.") -sfml_set_option(SFML_BUILD_GRAPHICS TRUE BOOL "TRUE to build SFML's Graphics module.") -sfml_set_option(SFML_BUILD_AUDIO TRUE BOOL "TRUE to build SFML's Audio module.") -sfml_set_option(SFML_BUILD_NETWORK TRUE BOOL "TRUE to build SFML's Network module.") +sfml_set_option(SFML_BUILD_WINDOW ON BOOL "ON to build SFML's Window module. This setting is ignored, if the graphics module is built.") +sfml_set_option(SFML_BUILD_GRAPHICS ON BOOL "ON to build SFML's Graphics module.") +sfml_set_option(SFML_BUILD_AUDIO ON BOOL "ON to build SFML's Audio module.") +sfml_set_option(SFML_BUILD_NETWORK ON BOOL "ON to build SFML's Network module.") if(SFML_BUILD_WINDOW) # add an option for choosing the OpenGL implementation - sfml_set_option(SFML_OPENGL_ES ${OPENGL_ES} BOOL "TRUE to use an OpenGL ES implementation, FALSE to use a desktop OpenGL implementation") + sfml_set_option(SFML_OPENGL_ES ${OPENGL_ES} BOOL "ON to use an OpenGL ES implementation, OFF to use a desktop OpenGL implementation") # add an option for choosing whether to use the DRM windowing backend if(SFML_OS_LINUX) - sfml_set_option(SFML_USE_DRM FALSE BOOL "TRUE to use DRM windowing backend") + sfml_set_option(SFML_USE_DRM OFF BOOL "ON to use DRM windowing backend") endif() endif() # macOS specific options if(SFML_OS_MACOS OR SFML_OS_IOS) # add an option to build frameworks instead of dylibs (release only) - sfml_set_option(SFML_BUILD_FRAMEWORKS FALSE BOOL "TRUE to build SFML as frameworks libraries (release only), FALSE to build according to BUILD_SHARED_LIBS") + sfml_set_option(SFML_BUILD_FRAMEWORKS OFF BOOL "ON to build SFML as frameworks libraries (release only), OFF to build according to BUILD_SHARED_LIBS") # add an option to automatically install Xcode templates - sfml_set_option(SFML_INSTALL_XCODE_TEMPLATES FALSE BOOL "TRUE to automatically install the Xcode templates, FALSE to do nothing about it. The templates are compatible with Xcode 4 and 5.") + sfml_set_option(SFML_INSTALL_XCODE_TEMPLATES OFF BOOL "ON to automatically install the Xcode templates, OFF to do nothing about it. The templates are compatible with Xcode 4 and 5.") endif() # Android options if(SFML_OS_ANDROID) - sfml_set_option(SFML_ANDROID_USE_SUSPEND_AWARE_CLOCK FALSE BOOL "TRUE to use an sf::Clock implementation which takes system sleep time into account (keeps advancing during suspension), FALSE to default to another available monotonic clock") + sfml_set_option(SFML_ANDROID_USE_SUSPEND_AWARE_CLOCK OFF BOOL "ON to use an sf::Clock implementation which takes system sleep time into account (keeps advancing during suspension), OFF to default to another available monotonic clock") if(SFML_ANDROID_USE_SUSPEND_AWARE_CLOCK) add_definitions(-DSFML_ANDROID_USE_SUSPEND_AWARE_CLOCK) endif() @@ -103,13 +103,13 @@ endif() # force building sfml-window, if sfml-graphics module is built if(SFML_BUILD_GRAPHICS AND NOT SFML_BUILD_WINDOW) message(WARNING "You're trying to build SFML's Graphics module without the Window module. Forcing building of the Window module as a dependency.") - set(SFML_BUILD_WINDOW TRUE) + set(SFML_BUILD_WINDOW ON) endif() # allow not using bundled dependencies with a switch # (except for stb_image) # yes this is horrible, but GLOB_RECURSE sucks -sfml_set_option(SFML_USE_SYSTEM_DEPS FALSE BOOL "TRUE to use system dependencies, FALSE to use the bundled ones.") +sfml_set_option(SFML_USE_SYSTEM_DEPS OFF BOOL "ON to use system dependencies, OFF to use the bundled ones.") if(SFML_USE_SYSTEM_DEPS) if(SFML_INSTALL_XCODE_TEMPLATES) message(FATAL_ERROR "XCode templates installation cannot be used with the SFML_USE_SYSTEM_DEPS option (the bundled frameworks are required.)") @@ -141,7 +141,7 @@ endif() if(SFML_COMPILER_MSVC) # add an option to choose whether PDB debug symbols should be generated (defaults to true when possible) - sfml_set_option(SFML_GENERATE_PDB TRUE BOOL "True to generate PDB debug symbols, FALSE otherwise.") + sfml_set_option(SFML_GENERATE_PDB ON BOOL "True to generate PDB debug symbols, OFF otherwise.") # if building using a compiler launcher, embed the MSVC debugging information to allow for caching if(CMAKE_CXX_COMPILER_LAUNCHER) @@ -157,14 +157,14 @@ endif() # define an option for choosing between static and dynamic C runtime (Windows only) if(SFML_OS_WINDOWS) - sfml_set_option(SFML_USE_STATIC_STD_LIBS FALSE BOOL "TRUE to statically link to the standard libraries, FALSE to use them as DLLs") + sfml_set_option(SFML_USE_STATIC_STD_LIBS OFF BOOL "ON to statically link to the standard libraries, OFF to use them as DLLs") # the following combination of flags is not valid if(BUILD_SHARED_LIBS AND SFML_USE_STATIC_STD_LIBS) message(FATAL_ERROR "BUILD_SHARED_LIBS and SFML_USE_STATIC_STD_LIBS cannot be used together") endif() - sfml_set_option(SFML_USE_MESA3D FALSE BOOL "TRUE to use the Mesa 3D graphics library for rendering, FALSE to use the system provided library for rendering") + sfml_set_option(SFML_USE_MESA3D OFF BOOL "ON to use the Mesa 3D graphics library for rendering, OFF to use the system provided library for rendering") include(cmake/Mesa3D.cmake) endif() @@ -178,13 +178,13 @@ if(SFML_OS_MACOS) if(SFML_BUILD_FRAMEWORKS) # requirement #1 if(NOT CMAKE_BUILD_TYPE STREQUAL "Release") - message(FATAL_ERROR "CMAKE_BUILD_TYPE should be \"Release\" when SFML_BUILD_FRAMEWORKS is TRUE") + message(FATAL_ERROR "CMAKE_BUILD_TYPE should be \"Release\" when SFML_BUILD_FRAMEWORKS is ON") return() endif() # requirement #2 if(NOT BUILD_SHARED_LIBS) - message(FATAL_ERROR "BUILD_SHARED_LIBS should be TRUE when SFML_BUILD_FRAMEWORKS is TRUE") + message(FATAL_ERROR "BUILD_SHARED_LIBS should be ON when SFML_BUILD_FRAMEWORKS is ON") return() endif() endif() @@ -220,13 +220,13 @@ set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake") add_subdirectory(src/SFML) # on Linux and BSD-like OS, install pkg-config files by default -set(SFML_INSTALL_PKGCONFIG_DEFAULT FALSE) +set(SFML_INSTALL_PKGCONFIG_DEFAULT OFF) if(SFML_OS_LINUX OR SFML_OS_FREEBSD OR SFML_OS_OPENBSD OR SFML_OS_NETBSD) - set(SFML_INSTALL_PKGCONFIG_DEFAULT TRUE) + set(SFML_INSTALL_PKGCONFIG_DEFAULT ON) endif() -sfml_set_option(SFML_INSTALL_PKGCONFIG_FILES ${SFML_INSTALL_PKGCONFIG_DEFAULT} BOOL "TRUE to automatically install pkg-config files so other projects can find SFML") +sfml_set_option(SFML_INSTALL_PKGCONFIG_FILES ${SFML_INSTALL_PKGCONFIG_DEFAULT} BOOL "ON to automatically install pkg-config files so other projects can find SFML") if(SFML_INSTALL_PKGCONFIG_FILES) # account for CMAKE_INSTALL_LIBDIR potentially being an absolute path @@ -253,7 +253,7 @@ if(SFML_INSTALL_PKGCONFIG_FILES) endif() # option to enable precompiled headers -sfml_set_option(SFML_ENABLE_PCH FALSE BOOL "TRUE to enable precompiled headers for SFML builds -- only supported on Windows/Linux and for static library builds") +sfml_set_option(SFML_ENABLE_PCH OFF BOOL "ON to enable precompiled headers for SFML builds -- only supported on Windows/Linux and for static library builds") if(SFML_ENABLE_PCH AND BUILD_SHARED_LIBS) message(FATAL_ERROR "Precompiled headers are currently not supported for shared library builds") @@ -310,7 +310,7 @@ else() # edit target properties set_target_properties(SFML PROPERTIES - FRAMEWORK TRUE + FRAMEWORK ON FRAMEWORK_VERSION ${PROJECT_VERSION} MACOSX_FRAMEWORK_IDENTIFIER org.sfml-dev.SFML MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION} @@ -368,7 +368,7 @@ else() # NOTE: it's not required to link against SFML.framework set_target_properties(SFML PROPERTIES INSTALL_NAME_DIR "@rpath") if(NOT CMAKE_SKIP_BUILD_RPATH) - set_target_properties(SFML PROPERTIES BUILD_WITH_INSTALL_NAME_DIR TRUE) + set_target_properties(SFML PROPERTIES BUILD_WITH_INSTALL_NAME_DIR ON) endif() # install rule @@ -476,7 +476,7 @@ endif() sfml_export_targets() # configure extras by default when building SFML directly, otherwise hide them -sfml_set_option(SFML_CONFIGURE_EXTRAS ${PROJECT_IS_TOP_LEVEL} BOOL "TRUE to configure extras, FALSE to ignore them") +sfml_set_option(SFML_CONFIGURE_EXTRAS ${PROJECT_IS_TOP_LEVEL} BOOL "ON to configure extras, OFF to ignore them") if(NOT SFML_CONFIGURE_EXTRAS) return() @@ -503,22 +503,22 @@ set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "!define MUI_WELCOMEFINISHPAGE_BITMAP \\\ include(CPack) # add an option for building the API documentation -sfml_set_option(SFML_BUILD_DOC FALSE BOOL "TRUE to generate the API documentation, FALSE to ignore it") +sfml_set_option(SFML_BUILD_DOC OFF BOOL "ON to generate the API documentation, OFF to ignore it") if(SFML_BUILD_DOC) add_subdirectory(doc) endif() # add an option for building the examples -sfml_set_option(SFML_BUILD_EXAMPLES FALSE BOOL "TRUE to build the SFML examples, FALSE to ignore them") +sfml_set_option(SFML_BUILD_EXAMPLES OFF BOOL "ON to build the SFML examples, OFF to ignore them") if(SFML_BUILD_EXAMPLES AND NOT SFML_OS_ANDROID) add_subdirectory(examples) endif() # add an option for building the test suite -sfml_set_option(SFML_BUILD_TEST_SUITE FALSE BOOL "TRUE to build the SFML test suite, FALSE to ignore it") +sfml_set_option(SFML_BUILD_TEST_SUITE OFF BOOL "ON to build the SFML test suite, OFF to ignore it") # add an option for enabling coverage reporting -sfml_set_option(SFML_ENABLE_COVERAGE FALSE BOOL "TRUE to enable coverage reporting, FALSE to ignore it") +sfml_set_option(SFML_ENABLE_COVERAGE OFF BOOL "ON to enable coverage reporting, OFF to ignore it") if(SFML_BUILD_TEST_SUITE) if(SFML_BUILD_WINDOW AND SFML_BUILD_GRAPHICS AND SFML_BUILD_NETWORK AND SFML_BUILD_AUDIO) diff --git a/cmake/CompilerWarnings.cmake b/cmake/CompilerWarnings.cmake index e3f763ebd..9c783ad30 100644 --- a/cmake/CompilerWarnings.cmake +++ b/cmake/CompilerWarnings.cmake @@ -4,7 +4,7 @@ # Helper function to enable compiler warnings for a specific target function(set_target_warnings target) - option(SFML_WARNINGS_AS_ERRORS "Treat compiler warnings as errors" FALSE) + option(SFML_WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF) if(SFML_COMPILER_MSVC) target_compile_options(${target} PRIVATE diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake index 919b6d4f4..3760c7b5c 100644 --- a/cmake/Macros.cmake +++ b/cmake/Macros.cmake @@ -44,7 +44,7 @@ function(sfml_set_common_ios_properties target) get_target_property(target_type ${target} TYPE) if(target_type STREQUAL "EXECUTABLE") set_target_properties(${target} PROPERTIES - MACOSX_BUNDLE TRUE # Bare executables are not usable on iOS, only bundle applications + MACOSX_BUNDLE ON # Bare executables are not usable on iOS, only bundle applications MACOSX_BUNDLE_GUI_IDENTIFIER "org.sfml-dev.${target}" # If missing, trying to launch an example in simulator will make Xcode < 9.3 crash MACOSX_BUNDLE_BUNDLE_NAME "${target}" MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}" @@ -191,7 +191,7 @@ macro(sfml_add_library module) if(SFML_BUILD_FRAMEWORKS) # adapt target to build frameworks instead of dylibs set_target_properties(${target} PROPERTIES - FRAMEWORK TRUE + FRAMEWORK ON FRAMEWORK_VERSION ${PROJECT_VERSION} MACOSX_FRAMEWORK_IDENTIFIER org.sfml-dev.${target} MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION} @@ -203,7 +203,7 @@ macro(sfml_add_library module) if(NOT CMAKE_SKIP_RPATH AND NOT CMAKE_SKIP_INSTALL_RPATH AND NOT CMAKE_INSTALL_RPATH AND NOT CMAKE_INSTALL_RPATH_USE_LINK_PATH AND NOT CMAKE_INSTALL_NAME_DIR) set_target_properties(${target} PROPERTIES INSTALL_NAME_DIR "@rpath") if(NOT CMAKE_SKIP_BUILD_RPATH) - set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_NAME_DIR TRUE) + set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_NAME_DIR ON) endif() endif() endif() diff --git a/cmake/Mesa3D.cmake b/cmake/Mesa3D.cmake index 485db274d..e5970fa75 100644 --- a/cmake/Mesa3D.cmake +++ b/cmake/Mesa3D.cmake @@ -60,7 +60,7 @@ if(SFML_OS_WINDOWS AND SFML_USE_MESA3D) add_custom_target(install-mesa3d DEPENDS ${MESA3D_INSTALLED_FILES}) - set_target_properties(install-mesa3d PROPERTIES EXCLUDE_FROM_ALL TRUE) + set_target_properties(install-mesa3d PROPERTIES EXCLUDE_FROM_ALL ON) elseif(SFML_OS_WINDOWS AND EXISTS "${MESA3D_ARCH_PATH}") # we are removing the files diff --git a/cmake/SFMLConfig.cmake.in b/cmake/SFMLConfig.cmake.in index 536411e24..1f61cca8b 100644 --- a/cmake/SFMLConfig.cmake.in +++ b/cmake/SFMLConfig.cmake.in @@ -17,11 +17,11 @@ # find_package(SFML 2.6 COMPONENTS ...) # version 2.6 or greater with the same major version # # By default, the dynamic libraries of SFML will be found. To find the static ones instead, -# you must set the SFML_STATIC_LIBRARIES variable to TRUE before calling find_package(SFML ...). +# you must set the SFML_STATIC_LIBRARIES variable to ON before calling find_package(SFML ...). # You don't need to deal with SFML's dependencies when linking your targets against SFML libraries, # they will all be configured automatically, even if you use SFML static libraries. # example: -# set(SFML_STATIC_LIBRARIES TRUE) +# set(SFML_STATIC_LIBRARIES ON) # find_package(SFML 3 COMPONENTS Network System) # # When searching for SFML with find_package(), keep in mind that it will also find versions which are @@ -35,7 +35,7 @@ # # On macOS by default CMake will search for frameworks. If you want to use static libraries and have installed # both SFML frameworks and SFML static libraries, your must set CMAKE_FIND_FRAMEWORK to "NEVER" or "LAST" -# in addition to setting SFML_STATIC_LIBRARIES to TRUE. Otherwise CMake will check the frameworks bundle config and +# in addition to setting SFML_STATIC_LIBRARIES to ON. Otherwise CMake will check the frameworks bundle config and # fail after finding out that it does not provide static libraries. Please refer to CMake documentation for more details. # # Additionally, keep in mind that SFML frameworks are only available as release libraries unlike dylibs which @@ -119,8 +119,8 @@ set(targets_config_file "${CMAKE_CURRENT_LIST_DIR}/SFML${config_name}Targets.cma # Generate imported targets for SFML and its dependencies if(EXISTS "${targets_config_file}") - # Set SFML_FOUND to TRUE by default, may be overwritten by one of the includes below - set(SFML_FOUND TRUE) + # Set SFML_FOUND to ON by default, may be overwritten by one of the includes below + set(SFML_FOUND ON) include("${targets_config_file}") include("${CMAKE_CURRENT_LIST_DIR}/SFMLConfigDependencies.cmake") @@ -129,18 +129,18 @@ if(EXISTS "${targets_config_file}") foreach(component ${SFML_FIND_COMPONENTS}) string(TOUPPER "${component}" UPPER_COMPONENT) - set(SFML_${UPPER_COMPONENT}_FOUND FALSE) + set(SFML_${UPPER_COMPONENT}_FOUND OFF) if(TARGET SFML::${component}) - set(SFML_${UPPER_COMPONENT}_FOUND TRUE) + set(SFML_${UPPER_COMPONENT}_FOUND ON) elseif(SFML_FIND_REQUIRED_${component}) set(FIND_SFML_ERROR "Found SFML but requested component '${component}' is missing in the config defined in ${SFML_ROOT}.") - set(SFML_FOUND FALSE) + set(SFML_FOUND OFF) endif() endforeach() endif() else() set(FIND_SFML_ERROR "Requested SFML configuration (${config_name}) was not found") - set(SFML_FOUND FALSE) + set(SFML_FOUND OFF) endif() if(NOT SFML_FOUND) diff --git a/cmake/SFMLConfigDependencies.cmake.in b/cmake/SFMLConfigDependencies.cmake.in index e080eb68e..1907b7506 100644 --- a/cmake/SFMLConfigDependencies.cmake.in +++ b/cmake/SFMLConfigDependencies.cmake.in @@ -66,6 +66,6 @@ if(SFML_STATIC_LIBRARIES) if(FIND_SFML_DEPENDENCIES_NOTFOUND) set(FIND_SFML_ERROR "SFML found but some of its dependencies are missing (${FIND_SFML_DEPENDENCIES_NOTFOUND})") - set(SFML_FOUND FALSE) + set(SFML_FOUND OFF) endif() endif() diff --git a/examples/android/app/build.gradle.kts b/examples/android/app/build.gradle.kts index 35fe08b26..ee9b2ab6b 100644 --- a/examples/android/app/build.gradle.kts +++ b/examples/android/app/build.gradle.kts @@ -3,7 +3,7 @@ val ARCH_ABI by extra(project.properties["ARCH_ABI"] as? String ?: "arm64-v8a") val MIN_SDK by extra((project.properties["MIN_SDK"] as? String ?: "21").toInt()) val TARGET_SDK by extra((project.properties["TARGET_SDK"] as? String ?: "33").toInt()) val STL_TYPE by extra(project.properties["STL_TYPE"] as? String ?: "c++_shared") -val SFML_STATIC by extra(project.properties["SFML_STATIC"] as? String ?: "FALSE") +val SFML_STATIC by extra(project.properties["SFML_STATIC"] as? String ?: "OFF") plugins { id("com.android.application") diff --git a/examples/cocoa/CMakeLists.txt b/examples/cocoa/CMakeLists.txt index 5a69fa0d2..5e2a87fbb 100644 --- a/examples/cocoa/CMakeLists.txt +++ b/examples/cocoa/CMakeLists.txt @@ -55,6 +55,6 @@ sfml_add_example(cocoa BUNDLE_RESOURCES ${RESOURCES} DEPENDS SFML::Graphics) set_target_properties(cocoa PROPERTIES - MACOSX_BUNDLE TRUE + MACOSX_BUNDLE ON MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/Cocoa-Info.plist) target_link_libraries(cocoa PRIVATE "-framework Cocoa" "-framework Foundation") diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 28f1ebc5c..14729636e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -40,12 +40,12 @@ sfml_set_stdlib(Catch2) sfml_set_stdlib(Catch2WithMain) sfml_set_stdlib(sfml-test-main) -sfml_set_option(SFML_RUN_DISPLAY_TESTS ON BOOL "TRUE to run tests that require a display, FALSE to ignore it") +sfml_set_option(SFML_RUN_DISPLAY_TESTS ON BOOL "ON to run tests that require a display, OFF to ignore it") if(SFML_RUN_DISPLAY_TESTS) target_compile_definitions(sfml-test-main PRIVATE SFML_RUN_DISPLAY_TESTS) endif() -sfml_set_option(SFML_RUN_AUDIO_DEVICE_TESTS ON BOOL "TRUE to run tests that require an audio device, FALSE to ignore it") +sfml_set_option(SFML_RUN_AUDIO_DEVICE_TESTS ON BOOL "ON to run tests that require an audio device, OFF to ignore it") if(SFML_RUN_AUDIO_DEVICE_TESTS) target_compile_definitions(sfml-test-main PRIVATE SFML_RUN_AUDIO_DEVICE_TESTS) endif() diff --git a/test/install/CMakeLists.txt b/test/install/CMakeLists.txt index 610fbda3a..eb6b168c7 100644 --- a/test/install/CMakeLists.txt +++ b/test/install/CMakeLists.txt @@ -4,7 +4,7 @@ project(test-sfml-install CXX) # This skips the find_package call when building via add_subdirectory since that will fail under those circumstances if(PROJECT_IS_TOP_LEVEL) if(NOT BUILD_SHARED_LIBS) - set(SFML_STATIC_LIBRARIES TRUE) + set(SFML_STATIC_LIBRARIES ON) endif() # cmake by default will only search inside the iOS SDK for packages/libraries, so we need to tell it to look elsewhere diff --git a/tools/xcode/templates/readme.txt b/tools/xcode/templates/readme.txt index b7e6ab227..bdb0249d9 100644 --- a/tools/xcode/templates/readme.txt +++ b/tools/xcode/templates/readme.txt @@ -50,7 +50,7 @@ http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/ Install ------- -If you are building SFML from sources you can set CMake's INSTALL_XCODE_TEMPLATES variable to TRUE +If you are building SFML from sources you can set CMake's INSTALL_XCODE_TEMPLATES variable to ON to install the templates automatically.