mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-22 18:47:09 +01:00
[vcpkg] add missing implib definitions, fix shared lib extension on mac (#8131)
* [vcpkg] add missing implib definitions, fix shared lib extension on mac (cherry picked from commit 2cddef9541202ecc01ad43036575bc606dc01117) * Better find_library suffixes and prefixes. * moved additional suffix into a comment and reverted back to what is expected on windows * updated documentation for add variables.
This commit is contained in:
parent
f0f2d2e43b
commit
8a44d47f76
@ -11,10 +11,15 @@
|
||||
## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
|
||||
## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
|
||||
## VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
|
||||
## VCPKG_TARGET_IMPORT_LIBRARY_PREFIX import library prefix for target (same as CMAKE_IMPORT_LIBRARY_PREFIX)
|
||||
## VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX import library suffix for target (same as CMAKE_IMPORT_LIBRARY_SUFFIX)
|
||||
## VCPKG_FIND_LIBRARY_PREFIXES target dependent prefixes used for find_library calls in portfiles
|
||||
## VCPKG_FIND_LIBRARY_SUFFIXES target dependent suffixes used for find_library calls in portfiles
|
||||
## ```
|
||||
##
|
||||
## CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that
|
||||
## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
|
||||
##
|
||||
## CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target
|
||||
## Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also defined for the target so that
|
||||
## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
|
||||
##
|
||||
|
||||
#Helper variable to identify the Target system. VCPKG_TARGET_IS_<targetname>
|
||||
@ -47,24 +52,44 @@ else()
|
||||
set(VCPKG_TARGET_EXECUTABLE_SUFFIX "")
|
||||
endif()
|
||||
|
||||
#Helper variables for libraries
|
||||
#Helper variables for libraries
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib")
|
||||
set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll")
|
||||
set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".lib")
|
||||
set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "")
|
||||
set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "")
|
||||
set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "")
|
||||
set(VCPKG_FIND_LIBRARY_SUFFIXES ".lib" ".dll") #This is a slight modification to CMakes value which does not include ".dll".
|
||||
set(VCPKG_FIND_LIBRARY_PREFIXES "" "lib") #This is a slight modification to CMakes value which does not include "lib".
|
||||
## For CYGWIN and Windows GNU, maybe VCPKG will support that in the future?
|
||||
#set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a")
|
||||
#set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib")
|
||||
#set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
|
||||
#set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
|
||||
elseif(VCPKG_TARGET_IS_OSX)
|
||||
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
|
||||
set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dylib")
|
||||
set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
|
||||
set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
|
||||
set(VCPKG_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".so" ".a")
|
||||
set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
|
||||
else()
|
||||
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
|
||||
set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".so")
|
||||
set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
|
||||
set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
|
||||
set(VCPKG_FIND_LIBRARY_SUFFIXES ".so" ".a")
|
||||
set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
|
||||
endif()
|
||||
#Setting these variables allows find_library to work in script mode and thus in portfiles!
|
||||
#This allows us scale down on hardcoded target dependent paths in portfiles
|
||||
set(CMAKE_STATIC_LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX})
|
||||
set(CMAKE_SHARED_LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX})
|
||||
set(CMAKE_STATIC_LIBRARY_PREFIX ${VCPKG_TARGET_STATIC_LIBRARY_PREFIX})
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX ${VCPKG_TARGET_SHARED_LIBRARY_PREFIX})
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX};${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") # Required by find_library
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_STATIC_LIBRARY_PREFIX};${CMAKE_SHARED_LIBRARY_PREFIX}" CACHE INTERNAL "") # Required by find_library
|
||||
set(CMAKE_STATIC_LIBRARY_SUFFIX "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
|
||||
set(CMAKE_SHARED_LIBRARY_SUFFIX "${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
|
||||
set(CMAKE_IMPORT_LIBRARY_SUFFIX "${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}")
|
||||
set(CMAKE_STATIC_LIBRARY_PREFIX "${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}")
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}")
|
||||
set(CMAKE_IMPORT_LIBRARY_PREFIX "${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}")
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${VCPKG_FIND_LIBRARY_SUFFIXES}" CACHE INTERNAL "") # Required by find_library
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES "${VCPKG_FIND_LIBRARY_PREFIXES}" CACHE INTERNAL "") # Required by find_library
|
||||
|
Loading…
x
Reference in New Issue
Block a user