diff --git a/.gitignore b/.gitignore index d22e46ef..1b4d5e41 100644 --- a/.gitignore +++ b/.gitignore @@ -98,7 +98,7 @@ project/vs2015.UWP/*.db !project/vs2015.UWP/*.sln !project/vs2015.UWP/raylib.App.UWP/*.vcxproj -# Web examples +# Web examples docs/examples/web/*.html docs/examples/web/*/*.html !docs/examples/web/loader.html @@ -116,6 +116,7 @@ CMakeCache.txt CMakeFiles CMakeScripts Testing +TestingIfSymlinkWorks cmake_install.cmake install_manifest.txt compile_commands.json diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100755 new mode 100644 index 6d5994f4..a2f14088 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,18 @@ add_if_flag_works(-Werror=implicit-function-declaration CMAKE_C_FLAGS) # src/external/jar_xm.h does shady stuff add_if_flag_works(-fno-strict-aliasing CMAKE_C_FLAGS) +message(STATUS "Check for symlink support in file system") +execute_process( + COMMAND ${CMAKE_COMMAND} -E create_symlink CMakeLists.txt "${CMAKE_CURRENT_BINARY_DIR}/TestingIfSymlinkWorks" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE FILESYSTEM_LACKS_SYMLINKS +) +If (FILESYSTEM_LACKS_SYMLINKS) + message(STATUS "Testing if file system supports symlinks -- unsupported") +else() + message(STATUS "Testing if file system supports symlinks -- supported") +endif() + if (ENABLE_ASAN) add_if_flag_works(-fno-omit-frame-pointer CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) add_if_flag_works(-fsanitize=address CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 64d7f1fd..f04e88f3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -101,9 +101,15 @@ if(${PLATFORM} MATCHES "PLATFORM_DESKTOP") set(CMAKE_MACOSX_RPATH ON) target_link_libraries(${RAYLIB}_shared ${LIBS_PRIVATE}) + if (UNIX AND ${FILESYSTEM_LACKS_SYMLINKS}) + MESSAGE(WARNING "Can't version UNIX shared library on file system without symlink support") + else() + set_target_properties(${RAYLIB}_shared PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${API_VERSION} + ) + endif() set_target_properties(${RAYLIB}_shared PROPERTIES - VERSION ${PROJECT_VERSION} - SOVERSION ${API_VERSION} PUBLIC_HEADER "raylib.h" ) if(WIN32)