From e930737807acb4cda7b3cb453e8785890e20bf05 Mon Sep 17 00:00:00 2001 From: Alex Belanger Date: Mon, 9 Sep 2024 10:06:09 -0400 Subject: [PATCH 1/2] Bump CMake minimum version to 3.13 --- CMakeLists.txt | 55 +++++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 169296dc8..4632b5617 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8.2) +cmake_minimum_required(VERSION 3.13) project(cglm VERSION 0.9.5 HOMEPAGE_URL https://github.com/recp/cglm @@ -37,9 +37,10 @@ if(MSVC) if(NOT CMAKE_BUILD_TYPE MATCHES Debug) add_definitions(-DNDEBUG) add_compile_options(/W3 /Ox /Gy /Oi /TC) + foreach(flag_var - CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}") endforeach(flag_var) endif() @@ -56,6 +57,7 @@ get_directory_property(hasParent PARENT_DIRECTORY) if(NOT hasParent AND NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.") set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE STRING "Choose the type of build." FORCE) + # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() @@ -116,7 +118,7 @@ add_library(${PROJECT_NAME} src/clipspace/view_rh_zo.c src/clipspace/project_no.c src/clipspace/project_zo.c - ) +) if(CGLM_SHARED) add_definitions(-DCGLM_EXPORTS) @@ -125,8 +127,8 @@ else() endif() set_target_properties(${PROJECT_NAME} PROPERTIES - VERSION ${PROJECT_VERSION} - SOVERSION ${PROJECT_VERSION_MAJOR}) + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR}) if(WIN32) # Because SOVERSION has no effect to file naming on Windows @@ -135,11 +137,11 @@ if(WIN32) endif() target_include_directories(${PROJECT_NAME} - PUBLIC - $ - $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src + PUBLIC + $ + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src ) # Target for header-only usage @@ -154,40 +156,43 @@ if(CGLM_USE_TEST) add_subdirectory(test) endif() -# Install +# Install install(TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + EXPORT ${PROJECT_NAME} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(DIRECTORY include/${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - PATTERN ".*" EXCLUDE) + PATTERN ".*" EXCLUDE) # Config export(TARGETS ${PROJECT_NAME} - NAMESPACE ${PROJECT_NAME}:: - FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + NAMESPACE ${PROJECT_NAME}:: + FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" ) -install(EXPORT ${PROJECT_NAME} - FILE "${PROJECT_NAME}Config.cmake" - NAMESPACE ${PROJECT_NAME}:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) +install(EXPORT ${PROJECT_NAME} + FILE "${PROJECT_NAME}Config.cmake" + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) set(PACKAGE_NAME ${PROJECT_NAME}) set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}) -if (IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") + +if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") set(includedir "${CMAKE_INSTALL_INCLUDEDIR}") else() set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") endif() -if (IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") + +if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") set(libdir "${CMAKE_INSTALL_LIBDIR}") else() set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") endif() + set(PACKAGE_VERSION "${PROJECT_VERSION}") configure_file(cglm.pc.in cglm.pc @ONLY) From 5484259328a80e7f60d28f89235940f3cad581ea Mon Sep 17 00:00:00 2001 From: Alex Belanger Date: Mon, 9 Sep 2024 10:35:24 -0400 Subject: [PATCH 2/2] Undid the formatting. --- CMakeLists.txt | 53 +++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4632b5617..01086faec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,10 +37,9 @@ if(MSVC) if(NOT CMAKE_BUILD_TYPE MATCHES Debug) add_definitions(-DNDEBUG) add_compile_options(/W3 /Ox /Gy /Oi /TC) - foreach(flag_var - CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}") endforeach(flag_var) endif() @@ -57,7 +56,6 @@ get_directory_property(hasParent PARENT_DIRECTORY) if(NOT hasParent AND NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.") set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE STRING "Choose the type of build." FORCE) - # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() @@ -118,7 +116,7 @@ add_library(${PROJECT_NAME} src/clipspace/view_rh_zo.c src/clipspace/project_no.c src/clipspace/project_zo.c -) + ) if(CGLM_SHARED) add_definitions(-DCGLM_EXPORTS) @@ -127,8 +125,8 @@ else() endif() set_target_properties(${PROJECT_NAME} PROPERTIES - VERSION ${PROJECT_VERSION} - SOVERSION ${PROJECT_VERSION_MAJOR}) + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR}) if(WIN32) # Because SOVERSION has no effect to file naming on Windows @@ -137,11 +135,11 @@ if(WIN32) endif() target_include_directories(${PROJECT_NAME} - PUBLIC - $ - $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src + PUBLIC + $ + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src ) # Target for header-only usage @@ -156,43 +154,40 @@ if(CGLM_USE_TEST) add_subdirectory(test) endif() -# Install +# Install install(TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + EXPORT ${PROJECT_NAME} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(DIRECTORY include/${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - PATTERN ".*" EXCLUDE) + PATTERN ".*" EXCLUDE) # Config export(TARGETS ${PROJECT_NAME} - NAMESPACE ${PROJECT_NAME}:: - FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + NAMESPACE ${PROJECT_NAME}:: + FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" ) -install(EXPORT ${PROJECT_NAME} - FILE "${PROJECT_NAME}Config.cmake" - NAMESPACE ${PROJECT_NAME}:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) +install(EXPORT ${PROJECT_NAME} + FILE "${PROJECT_NAME}Config.cmake" + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) set(PACKAGE_NAME ${PROJECT_NAME}) set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}) - -if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") +if (IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") set(includedir "${CMAKE_INSTALL_INCLUDEDIR}") else() set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") endif() - -if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") +if (IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") set(libdir "${CMAKE_INSTALL_LIBDIR}") else() set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") endif() - set(PACKAGE_VERSION "${PROJECT_VERSION}") configure_file(cglm.pc.in cglm.pc @ONLY)