diff --git a/CMakeLists.txt b/CMakeLists.txt index 398b36eb..85de0fed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,7 +129,7 @@ if (GLFW_INSTALL) # Only generate this target if no higher-level project already has if (NOT TARGET uninstall) configure_file(CMake/cmake_uninstall.cmake.in - cmake_uninstall.cmake IMMEDIATE @ONLY) + cmake_uninstall.cmake @ONLY) add_custom_target(uninstall "${CMAKE_COMMAND}" -P diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index e7a03797..aca787d5 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -3,7 +3,7 @@ link_libraries(glfw) include_directories("${GLFW_SOURCE_DIR}/deps") -if (MATH_LIBRARY) +if (NOT MATH_LIBRARY STREQUAL "MATH_LIBRARY-NOTFOUND") link_libraries("${MATH_LIBRARY}") endif() @@ -38,7 +38,7 @@ add_executable(wave WIN32 MACOSX_BUNDLE wave.c ${ICON} ${GLAD_GL}) add_executable(windows WIN32 MACOSX_BUNDLE windows.c ${ICON} ${GLAD_GL}) target_link_libraries(particles Threads::Threads) -if (RT_LIBRARY) +if (NOT RT_LIBRARY STREQUAL "RT_LIBRARY-NOTFOUND") target_link_libraries(particles "${RT_LIBRARY}") endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1a085b2b..272ecf93 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -216,21 +216,23 @@ endif() if (UNIX AND NOT APPLE) find_library(RT_LIBRARY rt) mark_as_advanced(RT_LIBRARY) - if (RT_LIBRARY) + if (NOT RT_LIBRARY STREQUAL "RT_LIBRARY-NOTFOUND") target_link_libraries(glfw PRIVATE "${RT_LIBRARY}") list(APPEND glfw_PKG_LIBS "-lrt") endif() find_library(MATH_LIBRARY m) mark_as_advanced(MATH_LIBRARY) - if (MATH_LIBRARY) + if (NOT MATH_LIBRARY STREQUAL "MATH_LIBRARY-NOTFOUND") target_link_libraries(glfw PRIVATE "${MATH_LIBRARY}") list(APPEND glfw_PKG_LIBS "-lm") endif() - if (CMAKE_DL_LIBS) - target_link_libraries(glfw PRIVATE "${CMAKE_DL_LIBS}") - list(APPEND glfw_PKG_LIBS "-l${CMAKE_DL_LIBS}") + find_library(DL_LIBRARY dl) + mark_as_advanced(DL_LIBRARY) + if (NOT DL_LIBRARY STREQUAL "DL_LIBRARY-NOTFOUND") + target_link_libraries(glfw PRIVATE "${DL_LIBRARY}") + list(APPEND glfw_PKG_LIBS "-ldl") endif() endif() @@ -312,7 +314,7 @@ if (GLFW_BUILD_SHARED_LIBRARY) # Compatibility with data execution prevention (DEP) cmake_push_check_state() set(CMAKE_REQUIRED_FLAGS "-Wl,--nxcompat") - check_c_compiler_flag("" _GLFW_HAS_DEP) + check_c_source_compiles("int main() { return 0; }" _GLFW_HAS_DEP) if (_GLFW_HAS_DEP) target_link_libraries(glfw PRIVATE "-Wl,--nxcompat") endif() @@ -321,7 +323,7 @@ if (GLFW_BUILD_SHARED_LIBRARY) # Compatibility with address space layout randomization (ASLR) cmake_push_check_state() set(CMAKE_REQUIRED_FLAGS "-Wl,--dynamicbase") - check_c_compiler_flag("" _GLFW_HAS_ASLR) + check_c_source_compiles("int main() { return 0; }" _GLFW_HAS_ASLR) if (_GLFW_HAS_ASLR) target_link_libraries(glfw PRIVATE "-Wl,--dynamicbase") endif() @@ -330,7 +332,7 @@ if (GLFW_BUILD_SHARED_LIBRARY) # Compatibility with 64-bit address space layout randomization (ASLR) cmake_push_check_state() set(CMAKE_REQUIRED_FLAGS "-Wl,--high-entropy-va") - check_c_compiler_flag("" _GLFW_HAS_64ASLR) + check_c_source_compiles("int main() { return 0; }" _GLFW_HAS_64ASLR) if (_GLFW_HAS_64ASLR) target_link_libraries(glfw PRIVATE "-Wl,--high-entropy-va") endif() diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index f81cfeb9..99d02874 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -3,7 +3,7 @@ link_libraries(glfw) include_directories("${GLFW_SOURCE_DIR}/deps") -if (MATH_LIBRARY) +if (NOT MATH_LIBRARY STREQUAL "MATH_LIBRARY-NOTFOUND") link_libraries("${MATH_LIBRARY}") endif() @@ -43,7 +43,7 @@ add_executable(window WIN32 MACOSX_BUNDLE window.c ${GLAD_GL}) target_link_libraries(empty Threads::Threads) target_link_libraries(threads Threads::Threads) -if (RT_LIBRARY) +if (NOT RT_LIBRARY STREQUAL "RT_LIBRARY-NOTFOUND") target_link_libraries(empty "${RT_LIBRARY}") target_link_libraries(threads "${RT_LIBRARY}") endif()