Skip to content

Commit

Permalink
set_lib_Vars is specific to src/other/ext - move
Browse files Browse the repository at this point in the history
  • Loading branch information
starseeker committed Aug 2, 2023
1 parent df35cbe commit 9f9eb63
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 55 deletions.
55 changes: 0 additions & 55 deletions misc/CMake/BRLCAD_Util.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -413,61 +413,6 @@ int main(int argc, const char **argv) {

endfunction(generate_dreport)

# Wrap the platform specific naming conventions we must manage to copy
# build output from 3rd party build systems.
function(set_lib_vars RVAR root vmaj vmin vpatch)

# OpenBSD has its own naming conventions. Set a platform variable based on
# the OS name so we can test for it succinctly.
if ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*")
set(OPENBSD ON)
endif ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*")

unset(${RVAR}_BASENAME)
unset(${RVAR}_STATICNAME)
unset(${RVAR}_SUFFIX)
unset(${RVAR}_SYMLINK1)
unset(${RVAR}_SYMLINK2)

if (NOT "${vpatch}" STREQUAL "")
set(vpatch_suffix ".${vpatch}")
else()
set(vpatch_suffix "")
endif()

if (MSVC)
set(${RVAR}_BASENAME ${root})
set(${RVAR}_STATICNAME ${root}-static)
set(${RVAR}_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_1 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_2 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj})
elseif (APPLE)
set(${RVAR}_BASENAME lib${root})
set(${RVAR}_STATICNAME lib${root})
set(${RVAR}_SUFFIX .${vmaj}.${vmin}${vpatch_suffix}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_1 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_2 ${${RVAR}_BASENAME}.${vmaj}${CMAKE_SHARED_LIBRARY_SUFFIX})
elseif (OPENBSD)
set(${RVAR}_BASENAME lib${root})
set(${RVAR}_STATICNAME lib${root})
set(${RVAR}_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj}.${vmin})
else (MSVC)
set(${RVAR}_BASENAME lib${root})
set(${RVAR}_STATICNAME lib${root})
set(${RVAR}_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj}.${vmin}${vpatch_suffix})
set(${RVAR}_SYMLINK_1 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_2 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj})
endif (MSVC)

# Communicate the answers to the parent scope - these are the return values.
set(${RVAR}_BASENAME "${${RVAR}_BASENAME}" PARENT_SCOPE)
set(${RVAR}_STATICNAME "${${RVAR}_STATICNAME}" PARENT_SCOPE)
set(${RVAR}_SUFFIX "${${RVAR}_SUFFIX}" PARENT_SCOPE)
set(${RVAR}_SYMLINK_1 "${${RVAR}_SYMLINK_1}" PARENT_SCOPE)
set(${RVAR}_SYMLINK_2 "${${RVAR}_SYMLINK_2}" PARENT_SCOPE)

endfunction(set_lib_vars RVAR root)

# Local Variables:
# tab-width: 8
# mode: cmake
Expand Down
54 changes: 54 additions & 0 deletions src/other/ext/CMake/ExternalProject_Target.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,60 @@
# IMPORTED_RUNTIME_ARTIFACTS that may be useful for this work... see:
# https://cmake.org/cmake/help/v3.21/command/install.html

# Wrap the platform specific naming conventions we must manage to copy
# build output from 3rd party build systems.
function(set_lib_vars RVAR root vmaj vmin vpatch)

# OpenBSD has its own naming conventions. Set a platform variable based on
# the OS name so we can test for it succinctly.
if ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*")
set(OPENBSD ON)
endif ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*")

unset(${RVAR}_BASENAME)
unset(${RVAR}_STATICNAME)
unset(${RVAR}_SUFFIX)
unset(${RVAR}_SYMLINK1)
unset(${RVAR}_SYMLINK2)

if (NOT "${vpatch}" STREQUAL "")
set(vpatch_suffix ".${vpatch}")
else()
set(vpatch_suffix "")
endif()

if (MSVC)
set(${RVAR}_BASENAME ${root})
set(${RVAR}_STATICNAME ${root}-static)
set(${RVAR}_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_1 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_2 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj})
elseif (APPLE)
set(${RVAR}_BASENAME lib${root})
set(${RVAR}_STATICNAME lib${root})
set(${RVAR}_SUFFIX .${vmaj}.${vmin}${vpatch_suffix}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_1 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_2 ${${RVAR}_BASENAME}.${vmaj}${CMAKE_SHARED_LIBRARY_SUFFIX})
elseif (OPENBSD)
set(${RVAR}_BASENAME lib${root})
set(${RVAR}_STATICNAME lib${root})
set(${RVAR}_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj}.${vmin})
else (MSVC)
set(${RVAR}_BASENAME lib${root})
set(${RVAR}_STATICNAME lib${root})
set(${RVAR}_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj}.${vmin}${vpatch_suffix})
set(${RVAR}_SYMLINK_1 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(${RVAR}_SYMLINK_2 ${${RVAR}_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${vmaj})
endif (MSVC)

# Communicate the answers to the parent scope - these are the return values.
set(${RVAR}_BASENAME "${${RVAR}_BASENAME}" PARENT_SCOPE)
set(${RVAR}_STATICNAME "${${RVAR}_STATICNAME}" PARENT_SCOPE)
set(${RVAR}_SUFFIX "${${RVAR}_SUFFIX}" PARENT_SCOPE)
set(${RVAR}_SYMLINK_1 "${${RVAR}_SYMLINK_1}" PARENT_SCOPE)
set(${RVAR}_SYMLINK_2 "${${RVAR}_SYMLINK_2}" PARENT_SCOPE)

endfunction(set_lib_vars RVAR root)

# Be quite about tool outputs by default
if(NOT DEFINED EXTPROJ_VERBOSE)
Expand Down

0 comments on commit 9f9eb63

Please sign in to comment.