Revision: 77831
http://sourceforge.net/p/brlcad/code/77831
Author: starseeker
Date: 2020-11-30 16:34:14 +0000 (Mon, 30 Nov 2020)
Log Message:
-----------
Not sure yet if this is practical, but see if we can abstract the platform
naming of the libraries into a function based on the pattern. If the naming is
too erratic this won't work in general, but initial regex linux test works so
checkpointing.
Modified Paths:
--------------
brlcad/branches/extbuild/misc/CMake/BRLCAD_Util.cmake
brlcad/branches/extbuild/src/other/ext/regex.cmake
Modified: brlcad/branches/extbuild/misc/CMake/BRLCAD_Util.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/BRLCAD_Util.cmake 2020-11-30
15:50:27 UTC (rev 77830)
+++ brlcad/branches/extbuild/misc/CMake/BRLCAD_Util.cmake 2020-11-30
16:34:14 UTC (rev 77831)
@@ -575,6 +575,55 @@
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 (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}${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})
+ 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}_SYMLINK1 "${${RVAR}_SYMLINK1}" PARENT_SCOPE)
+ set(${RVAR}_SYMLINK2 "${${RVAR}_SYMLINK2}" PARENT_SCOPE)
+
+endfunction(set_lib_vars RVAR root)
+
# Local Variables:
# tab-width: 8
# mode: cmake
Modified: brlcad/branches/extbuild/src/other/ext/regex.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/regex.cmake 2020-11-30 15:50:27 UTC
(rev 77830)
+++ brlcad/branches/extbuild/src/other/ext/regex.cmake 2020-11-30 16:34:14 UTC
(rev 77831)
@@ -13,30 +13,7 @@
if (BRLCAD_REGEX_BUILD)
- set(REGEX_VERSION "1.0.4")
- if (MSVC)
- set(REGEX_BASENAME regex_brl)
- set(REGEX_STATICNAME regex_brl-static)
- set(REGEX_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
- set(REGEX_SYMLINK_1 ${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
- set(REGEX_SYMLINK_2 ${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1)
- elseif (APPLE)
- set(REGEX_BASENAME libregex_brl)
- set(REGEX_STATICNAME libregex_brl)
- set(REGEX_SUFFIX .${REGEX_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX})
- set(REGEX_SYMLINK_1 ${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
- set(REGEX_SYMLINK_2 ${REGEX_BASENAME}.1${CMAKE_SHARED_LIBRARY_SUFFIX})
- elseif (OPENBSD)
- set(REGEX_BASENAME libregex_brl)
- set(REGEX_STATICNAME libregex_brl)
- set(REGEX_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.1.0)
- else (MSVC)
- set(REGEX_BASENAME libregex_brl)
- set(REGEX_STATICNAME libregex_brl)
- set(REGEX_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${REGEX_VERSION})
- set(REGEX_SYMLINK_1 ${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
- set(REGEX_SYMLINK_2 ${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1)
- endif (MSVC)
+ set_lib_vars(REGEX regex_brl "1" "0" "4")
set(REGEX_INSTDIR ${CMAKE_BINARY_INSTALL_ROOT}/regex)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits