Revision: 77244
          http://sourceforge.net/p/brlcad/code/77244
Author:   starseeker
Date:     2020-09-26 17:41:28 +0000 (Sat, 26 Sep 2020)
Log Message:
-----------
Replace hardcoding with variables, try to minimize MSVC conditionals in higher 
level code.

Modified Paths:
--------------
    brlcad/branches/thirdparty_rework/misc/CMake/ExternalProject_Target.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt

Modified: 
brlcad/branches/thirdparty_rework/misc/CMake/ExternalProject_Target.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/misc/CMake/ExternalProject_Target.cmake   
2020-09-26 15:50:10 UTC (rev 77243)
+++ brlcad/branches/thirdparty_rework/misc/CMake/ExternalProject_Target.cmake   
2020-09-26 17:41:28 UTC (rev 77244)
@@ -238,13 +238,13 @@
     set(E_SHARED 1)
   endif (E_OUTPUT_FILE AND NOT E_EXEC)
 
-  if (E_LINK_TARGET_DEBUG)
+  if (E_LINK_TARGET_DEBUG AND NOT MSVC)
     set(LINK_TARGET_DEBUG "${E_LINK_TARGET_DEBUG}")
-  endif (E_LINK_TARGET_DEBUG)
+  endif (E_LINK_TARGET_DEBUG AND NOT MSVC)
 
-  if (E_STATIC_LINK_TARGET_DEBUG)
+  if (E_STATIC_LINK_TARGET_DEBUG AND NOT MSVC)
     set(STATIC LINK_TARGET_DEBUG "${E_STATIC_LINK_TARGET_DEBUG}")
-  endif (E_STATIC_LINK_TARGET_DEBUG)
+  endif (E_STATIC_LINK_TARGET_DEBUG AND NOT MSVC)
 
   # Create imported target - need to both make the target itself
   # and set the necessary properties.  See also
@@ -257,11 +257,11 @@
     # Handle shared library
     if (E_SHARED)
       add_library(${etarg} SHARED IMPORTED GLOBAL)
-      if (E_LINK_TARGET)
+      if (E_LINK_TARGET AND NOT MSVC)
        ET_target_props(${etarg} "${E_IMPORT_PREFIX}" ${E_LINK_TARGET} 
LINK_TARGET_DEBUG "${LINK_TARGET_DEBUG}")
-      else (E_LINK_TARGET)
+      else (E_LINK_TARGET AND NOT MSVC)
        ET_target_props(${etarg} "${E_IMPORT_PREFIX}" ${E_OUTPUT_FILE} 
LINK_TARGET_DEBUG "${LINK_TARGET_DEBUG}")
-      endif (E_LINK_TARGET)
+      endif (E_LINK_TARGET AND NOT MSVC)
 
       install(FILES 
"${CMAKE_BINARY_DIR}/${LIB_DIR}/${E_SUBDIR}/${E_OUTPUT_FILE}" DESTINATION 
${LIB_DIR}/${E_SUBDIR})
       if (E_RPATH AND NOT MSVC)
@@ -272,11 +272,11 @@
     # If we do have a static lib as well, handle that
     if (E_STATIC AND BUILD_STATIC_LIBS)
       add_library(${etarg}-static STATIC IMPORTED GLOBAL)
-      if (E_STATIC_LINK_TARGET)
+      if (E_STATIC_LINK_TARGET AND NOT MSVC)
        ET_target_props(${etarg}-static "${E_IMPORT_PREFIX}" 
${E_STATIC_LINK_TARGET} STATIC_LINK_TARGET_DEBUG "${STATIC_LINK_TARGET_DEBUG}" 
STATIC)
-      else (E_STATIC_LINK_TARGET)
+      else (E_STATIC_LINK_TARGET AND NOT MSVC)
        ET_target_props(${etarg}-static "${E_IMPORT_PREFIX}" 
${E_STATIC_OUTPUT_FILE} STATIC_LINK_TARGET_DEBUG "${STATIC_LINK_TARGET_DEBUG}" 
STATIC)
-      endif (E_STATIC_LINK_TARGET)
+      endif (E_STATIC_LINK_TARGET AND NOT MSVC)
       if (MSVC)
        install(FILES 
"${CMAKE_BINARY_DIR}/${BIN_DIR}/${E_SUBDIR}/${E_OUTPUT_FILE}" DESTINATION 
${BIN_DIR}/${E_SUBDIR})
       else (MSVC)
@@ -299,11 +299,11 @@
   add_dependencies(${etarg} ${extproj})
 
   # Add install rules for any symlinks the caller has listed
-  if(E_SYMLINKS)
+  if(E_SYMLINKS AND NOT MSVC)
     foreach(slink ${E_SYMLINKS})
       install(FILES "${CMAKE_BINARY_DIR}/${LIB_DIR}/${E_SUBDIR}/${slink}" 
DESTINATION ${LIB_DIR}/${E_SUBDIR})
     endforeach(slink ${E_SYMLINKS})
-  endif (E_SYMLINKS)
+  endif(E_SYMLINKS AND NOT MSVC)
 
 endfunction(ExternalProject_Target)
 

Modified: brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-26 15:50:10 UTC (rev 77243)
+++ brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-26 17:41:28 UTC (rev 77244)
@@ -41,6 +41,14 @@
   add_definitions(-DZ_PREFIX_STR=${Z_PREFIX_STR})
   set(Z_PREFIX_STR "${Z_PREFIX_STR}" CACHE STRING "prefix for zlib functions" 
FORCE)
 
+  if (MSVC)
+    set(ZLIB_BASENAME z_brl)
+    set(ZLIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+  else (MSVC)
+    set(ZLIB_BASENAME libz_brl)
+    set(ZLIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${ZLIB_VERSION})
+  endif (MSVC)
+
   ExternalProject_Add(ZLIB_BLD
     SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libz"
     BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
@@ -48,23 +56,13 @@
     -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
     -DZ_PREFIX_STR=${Z_PREFIX_STR}
     )
-  if (NOT MSVC)
-    ExternalProject_Target(zlib ZLIB_BLD
-      OUTPUT_FILE libz_brl${CMAKE_SHARED_LIBRARY_SUFFIX}.${ZLIB_VERSION}
-      STATIC_OUTPUT_FILE libz${CMAKE_STATIC_LIBRARY_SUFFIX}
-      SYMLINKS 
"libz_brl${CMAKE_SHARED_LIBRARY_SUFFIX};libz_brl${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
-      LINK_TARGET "libz_brl${CMAKE_SHARED_LIBRARY_SUFFIX}"
-      RPATH
-      )
-    set(ZLIB_BASENAME libz_brl)
-  else (NOT MSVC)
-    ExternalProject_Target(zlib ZLIB_BLD
-      OUTPUT_FILE zlib${CMAKE_SHARED_LIBRARY_SUFFIX}
-      STATIC_OUTPUT_FILE z_brl${CMAKE_STATIC_LIBRARY_SUFFIX}
-      )
-    set(ZLIB_BASENAME z_brl)
-  endif (NOT MSVC)
-
+  ExternalProject_Target(zlib ZLIB_BLD
+    OUTPUT_FILE ${ZLIB_BASENAME}${ZLIB_SUFFIX}
+    STATIC_OUTPUT_FILE ${ZLIB_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    SYMLINKS 
"${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
+    LINK_TARGET "${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+    RPATH
+    )
   ExternalProject_ByProducts(ZLIB_BLD ${INCLUDE_DIR}
     zconf.h
     zlib.h
@@ -107,6 +105,14 @@
   set(OPENNURBS_PATCH_VERSION 245)
   set(OPENNURBS_VERSION 
${OPENNURBS_MAJOR_VERSION}.${OPENNURBS_MINOR_VERSION}.${OPENNURBS_PATCH_VERSION})
 
+  if (MSVC)
+    set(OPENNURBS_BASENAME openNURBS)
+    set(OPENNURBS_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+  else (MSVC)
+    set(OPENNURBS_BASENAME libopenNURBS)
+    set(OPENNURBS_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_VERSION})
+  endif (MSVC)
+
   # Because we use a custom name for zlib, we need to conditionally use a
   # generator expression to set its location for FindZLIB.  So far, haven't
   # found a less verbose way to make this work...
@@ -125,16 +131,15 @@
       BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
       CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} 
-DLIB_DIR=${LIB_DIR} -DBIN_DIR=${BIN_DIR}
       -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-      DEPENDS ${ZLIB_TARGET}
       )
   endif (TARGET zlib)
 
   ExternalProject_Target(openNURBS OPENNURBS_BLD
-    OUTPUT_FILE libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_VERSION}
-    STATIC_OUTPUT_FILE libopenNURBS${CMAKE_STATIC_LIBRARY_SUFFIX}
-    SYMLINKS 
"libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX};libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_MAJOR_VERSION}"
-    LINK_TARGET "libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}"
-    STATIC_LINK_TARGET "libopenNURBS${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    OUTPUT_FILE ${OPENNURBS_BASENAME}${OPENNURBS_SUFFIX}
+    STATIC_OUTPUT_FILE ${OPENNURBS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    SYMLINKS 
"${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_MAJOR_VERSION}"
+    LINK_TARGET "${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+    STATIC_LINK_TARGET "${OPENNURBS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
     RPATH
     )
 

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

Reply via email to