summaryrefslogtreecommitdiffhomepage
path: root/cmake/LibraryPathToLinkerFlags.cmake
diff options
context:
space:
mode:
authorAhmad Fatoum <[email protected]>2018-07-29 12:56:19 +0200
committerGitHub <[email protected]>2018-07-29 12:56:19 +0200
commit6905a875eda7e1ac85b768f5aa4e07dc92537bdb (patch)
treef8bf880840312d42478043a04bc7f273f892b180 /cmake/LibraryPathToLinkerFlags.cmake
parentcf021e38117723b655a2399e62f8d5f87ce3d413 (diff)
parent5a94a280d0a7d2866a12e6f9144401881e17de02 (diff)
downloadraylib-6905a875eda7e1ac85b768f5aa4e07dc92537bdb.tar.gz
raylib-6905a875eda7e1ac85b768f5aa4e07dc92537bdb.zip
Merge pull request #608 from a3f/master
CMake: Major cleanup to support find_package(raylib)
Diffstat (limited to 'cmake/LibraryPathToLinkerFlags.cmake')
-rw-r--r--cmake/LibraryPathToLinkerFlags.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/LibraryPathToLinkerFlags.cmake b/cmake/LibraryPathToLinkerFlags.cmake
new file mode 100644
index 00000000..05942b75
--- /dev/null
+++ b/cmake/LibraryPathToLinkerFlags.cmake
@@ -0,0 +1,24 @@
+function(library_path_to_linker_flags LD_FLAGS LIB_PATHS)
+ foreach(L ${LIB_PATHS})
+ get_filename_component(DIR ${L} PATH)
+ get_filename_component(LIBFILE ${L} NAME_WE)
+ STRING(REGEX REPLACE "^lib" "" FILE ${LIBFILE})
+
+ if (${L} MATCHES "[.]framework$")
+ set(FILE_OPT "-framework ${FILE}")
+ set(DIR_OPT "-F${DIR}")
+ else()
+ set(FILE_OPT "-l${FILE}")
+ set(DIR_OPT "-L${DIR}")
+ endif()
+
+ if ("${DIR}" STREQUAL "" OR "${DIR}" STREQUAL "${LASTDIR}")
+ set (DIR_OPT "")
+ endif()
+
+ set(LASTDIR ${DIR})
+
+ set(${LD_FLAGS} ${${LD_FLAGS}} ${DIR_OPT} ${FILE_OPT} PARENT_SCOPE)
+ string (REPLACE ";" " " ${LD_FLAGS} "${${LD_FLAGS}}")
+ endforeach()
+endfunction()