diff options
| author | Ahmad Fatoum <[email protected]> | 2018-01-26 23:44:01 +0100 |
|---|---|---|
| committer | Ahmad Fatoum <[email protected]> | 2018-01-27 01:57:21 +0100 |
| commit | 7f7aac643a46e7cab5e65365ada4b0436f12bca4 (patch) | |
| tree | 8beb1691d8119e7e0540c1479231691aaa8ae7d9 /src/CMakeLists.txt | |
| parent | 1093766669f7a96de09e205e9bab97c0e361a427 (diff) | |
| download | raylib-7f7aac643a46e7cab5e65365ada4b0436f12bca4.tar.gz raylib-7f7aac643a46e7cab5e65365ada4b0436f12bca4.zip | |
CMake: Search dependencies and build pkg-config's Libs.private with it
Diffstat (limited to 'src/CMakeLists.txt')
| -rw-r--r-- | src/CMakeLists.txt | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c8958c28..ccbfe0cf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -90,25 +90,28 @@ set(sources ${raylib_sources} ${mini_al}) # Which platform? if(${PLATFORM} MATCHES "PLATFORM_DESKTOP") - if(LINUX) - foreach(L ${LIBS_PRIVATE}) - set(PKG_CONFIG_LIBS_PRIVATE "${PKG_CONFIG_LIBS_PRIVATE} -l${L}") - endforeach(L) - endif() + foreach(L ${LIBS_PRIVATE}) + get_filename_component(DIR ${L} PATH) + get_filename_component(LIBFILE ${L} NAME_WE) + STRING(REGEX REPLACE "^lib" "" FILE ${LIBFILE}) - if(APPLE) - # TODO extract framework location and name from ${LIBS_PRIVATE} - # and specify them as -F and -framework instead of hardcoding - foreach(F OpenGL Cocoa) - set(PKG_CONFIG_LIBS_PRIVATE "${PKG_CONFIG_LIBS_PRIVATE} -framework ${F}") - endforeach(F) - endif() + 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(PKG_CONFIG_LIBS_PRIVATE "${PKG_CONFIG_LIBS_PRIVATE} ${DIR_OPT}${FILE_OPT}") + endforeach(L) - if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD) - foreach(L ${LIBS_PRIVATE}) - set(PKG_CONFIG_LIBS_PRIVATE "${PKG_CONFIG_LIBS_PRIVATE} -l${L}") - endforeach(L) - endif() if(${SHARED_RAYLIB}) add_library(${RAYLIB}_shared SHARED ${sources}) |
