Revision: 77883
          http://sourceforge.net/p/brlcad/code/77883
Author:   starseeker
Date:     2020-12-03 02:54:16 +0000 (Thu, 03 Dec 2020)
Log Message:
-----------
experiment

Modified Paths:
--------------
    brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_CXX_schema_macros.cmake
    brlcad/branches/extbuild/src/other/ext/stepcode/src/base/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/cldai/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/cleditor/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/cllazyfile/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/clstepcore/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/clutils/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/CMakeLists.txt
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2python/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/exppp/CMakeLists.txt
    brlcad/branches/extbuild/src/other/ext/stepcode/src/express/CMakeLists.txt

Removed Paths:
-------------
    brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_Targets.cmake
    
brlcad/branches/extbuild/src/other/ext/stepcode/src/express/generated/CMakeLists.txt

Modified: brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt      
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/CMakeLists.txt      
2020-12-03 02:54:16 UTC (rev 77883)
@@ -69,9 +69,6 @@
 # testing and compilation options, build output dirs, install dirs, uninstall, 
package creation, etc
 include(${SC_CMAKE_DIR}/SC_Build_opts.cmake)
 
-# SC_ADDEXEC and SC_ADDLIB macros, dllimport/export, etc
-include(${SC_CMAKE_DIR}/SC_Targets.cmake)
-
 # Macros related to paths
 include(${SC_CMAKE_DIR}/SC_Paths.cmake)
 

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_CXX_schema_macros.cmake
===================================================================
--- 
brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_CXX_schema_macros.cmake
    2020-12-03 01:12:07 UTC (rev 77882)
+++ 
brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_CXX_schema_macros.cmake
    2020-12-03 02:54:16 UTC (rev 77883)
@@ -27,20 +27,18 @@
 # create p21read_sdai_*, lazy_sdai_*, any exes listed in 
SC_SDAI_ADDITIONAL_EXES_SRCS
 macro(SCHEMA_EXES)
   RELATIVE_PATH_TO_TOPLEVEL(${CMAKE_CURRENT_SOURCE_DIR} 
RELATIVE_PATH_COMPONENT)
-  SC_ADDEXEC(p21read_${PROJECT_NAME} SOURCES 
"${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc" LINK_LIBRARIES 
${PROJECT_NAME} stepdai stepcore stepeditor steputils base TESTABLE)
-  #add_dependencies(p21read_${PROJECT_NAME} version_string)
+  add_executable(p21read_${PROJECT_NAME} 
"${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc")
+  target_link_libraries(p21read_${PROJECT_NAME} ${PROJECT_NAME} stepdai 
stepcore stepeditor steputils base)
   if(NOT WIN32)
-    SC_ADDEXEC(lazy_${PROJECT_NAME} SOURCES 
"${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc" LINK_LIBRARIES 
${PROJECT_NAME} steplazyfile stepdai stepcore stepeditor steputils base 
TESTABLE)
-    #add_dependencies(lazy_${PROJECT_NAME} version_string)
+    add_executable(lazy_${PROJECT_NAME} 
"${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc")
+    target_link_libraries(lazy_${PROJECT_NAME} ${PROJECT_NAME} steplazyfile 
stepdai stepcore stepeditor steputils base)
   endif(NOT WIN32)
 
   #add user-defined executables
   foreach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
     get_filename_component(name ${src} NAME_WE)
-    get_filename_component(path ${src} ABSOLUTE)
-    SC_ADDEXEC(${name}_${PROJECT_NAME} SOURCES ${src} LINK_LIBRARIES 
${PROJECT_NAME} stepdai stepcore stepeditor steputils base TESTABLE)
-    add_dependencies(${name}_${PROJECT_NAME} version_string)
-    #set_target_properties(${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS 
"${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}")
+    add_executable(${name}_${PROJECT_NAME} "${src}")
+    target_link_libraries(${name}_${PROJECT_NAME} ${PROJECT_NAME} stepdai 
stepcore stepeditor steputils base)
   endforeach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
 ENDMACRO(SCHEMA_EXES)
 
@@ -96,27 +94,50 @@
     ${SC_SOURCE_DIR}/src/base/judy/src
   )
   # if testing is enabled, "TESTABLE" sets property EXCLUDE_FROM_ALL and 
prevents installation
-  if($CACHE{SC_BUILD_SHARED_LIBS})
-    SC_ADDLIB(${PROJECT_NAME} SHARED SOURCES ${sourceFiles} LINK_LIBRARIES 
stepdai stepcore stepeditor steputils base TESTABLE)
-    add_dependencies(${PROJECT_NAME} generate_cpp_${PROJECT_NAME})
-    if(WIN32)
-      target_compile_definitions("${PROJECT_NAME}" PRIVATE 
SC_SCHEMA_DLL_EXPORTS)
-      if(MSVC)
-        target_compile_options("${PROJECT_NAME}" PRIVATE "/bigobj")
-      endif()
-    endif()
-  endif()
+  add_library(${PROJECT_NAME} SHARED ${sourceFiles})
+  set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)
+  add_dependencies(${PROJECT_NAME} base)
+  target_link_libraries(${PROJECT_NAME} stepdai stepcore stepeditor steputils 
base)
+  if(OPENBSD)
+    set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+  else(OPENBSD)
+    set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${SC_VERSION} 
SOVERSION ${SC_VERSION_MAJOR})
+  endif(OPENBSD)
+  if(APPLE)
+    set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY LINK_FLAGS 
"-flat_namespace -undefined suppress")
+  endif(APPLE)
+  if(MSVC)
+    target_compile_options("${PROJECT_NAME}" PRIVATE "/bigobj")
+    set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_SCHEMA_DLL_EXPORTS")
+    set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY 
INTERFACE_COMPILE_DEFINITIONS "SC_SCHEMA_DLL_IMPORTS")
+  endif(MSVC)
+  add_dependencies(${PROJECT_NAME} generate_cpp_${PROJECT_NAME})
+  if(NOT SC_ENABLE_TESTING)
+    set_target_properties(${PROJECT_NAME} PROPERTIES EXCLUDE_FROM_ALL ON)
+  else(NOT SC_ENABLE_TESTING)
+    install(TARGETS ${PROJECT_NAME}
+      RUNTIME DESTINATION ${BIN_DIR}
+      LIBRARY DESTINATION ${LIB_DIR}
+      ARCHIVE DESTINATION ${LIB_DIR})
+  endif(NOT SC_ENABLE_TESTING)
 
-  if($CACHE{SC_BUILD_STATIC_LIBS})
-    SC_ADDLIB(${PROJECT_NAME}-static STATIC SOURCES ${sourceFiles} 
LINK_LIBRARIES stepdai-static stepcore-static stepeditor-static 
steputils-static base-static TESTABLE)
-    add_dependencies(${PROJECT_NAME}-static generate_cpp_${PROJECT_NAME})
+  if (BUILD_STATIC_LIBS)
+    add_library(${PROJECT_NAME}-static STATIC ${sourceFiles})
     target_compile_defines("${PROJECT_NAME}-static" PRIVATE SC_STATIC)
     if(MSVC)
       target_compile_options("${PROJECT_NAME}-static" PRIVATE "/bigobj")
     endif()
-  endif()
+    if(NOT SC_ENABLE_TESTING)
+      set_target_properties(${PROJECT_NAME}-static PROPERTIES EXCLUDE_FROM_ALL 
ON)
+    else(NOT SC_ENABLE_TESTING)
+      install(TARGETS ${PROJECT_NAME}-static
+       RUNTIME DESTINATION ${BIN_DIR}
+       LIBRARY DESTINATION ${LIB_DIR}
+       ARCHIVE DESTINATION ${LIB_DIR})
+    endif(NOT SC_ENABLE_TESTING)
+    add_dependencies(${PROJECT_NAME}-static generate_cpp_${PROJECT_NAME})
+  endif (BUILD_STATIC_LIBS)
 
-
   SCHEMA_EXES()
   SCHEMA_TESTS()
   P21_TESTS(${expFile})

Deleted: brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_Targets.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_Targets.cmake      
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/cmake/SC_Targets.cmake      
2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,91 +0,0 @@
-macro(SC_ADDEXEC execname)
-  set(_addexec_opts NO_INSTALL TESTABLE)
-  set(_addexec_multikw SOURCES LINK_LIBRARIES)
-  string(TOUPPER "SC_ADDEXEC_${execname}_ARG" _arg_prefix)
-  cmake_parse_arguments(${_arg_prefix} "${_addexec_opts}" "" 
"${_addexec_multikw}" ${ARGN})
-
-  if(NOT DEFINED "${_arg_prefix}_SOURCES")
-    message(SEND_ERROR "SC_ADDEXEC usage error!")
-  endif()
-
-  add_executable(${execname} ${${_arg_prefix}_SOURCES})
-
-  if(DEFINED "${_arg_prefix}_LINK_LIBRARIES")
-    foreach(_lib ${${_arg_prefix}_LINK_LIBRARIES})
-        if($CACHE{SC_STATIC_UTILS})
-            if(NOT $<TARGET_PROPERTY:${_lib},TYPE> STREQUAL "STATIC_LIBRARY")
-                message(SEND_ERROR "SC_ADDEXEC usage error - expected STATIC 
LINK_LIBRARIES targets (${_lib})")
-            endif()
-        endif()
-        target_link_libraries(${execname} ${_lib})
-    endforeach()
-  endif()
-
-  if(NOT ${_arg_prefix}_NO_INSTALL AND NOT ${_arg_prefix}_TESTABLE)
-    install(TARGETS ${execname}
-      RUNTIME DESTINATION ${BIN_DIR}
-      LIBRARY DESTINATION ${LIB_DIR}
-      ARCHIVE DESTINATION ${LIB_DIR}   
-     )
-  endif()
-
-  if(NOT SC_ENABLE_TESTING AND ${_arg_prefix}_TESTABLE)
-    set_target_properties(${execname} PROPERTIES EXCLUDE_FROM_ALL ON)
-  endif()
-endmacro()
-
-macro(SC_ADDLIB _addlib_target)
-  set(_addlib_opts SHARED STATIC NO_INSTALL TESTABLE)
-  set(_addlib_multikw SOURCES LINK_LIBRARIES)
-  string(TOUPPER "SC_ADDLIB_${libname}_ARG" _arg_prefix)
-  cmake_parse_arguments(${_arg_prefix} "${_addlib_opts}" "" 
"${_addlib_multikw}" ${ARGN})
-
-  if(NOT DEFINED ${_arg_prefix}_SOURCES)
-    message(SEND_ERROR "SC_ADDLIB usage error!")
-  endif()
-
-  if(${_arg_prefix}_SHARED)
-    add_library(${_addlib_target} SHARED ${${_arg_prefix}_SOURCES})
-    if(OPENBSD)
-      set_target_properties(${_addlib_target} PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
-    else(OPENBSD)
-      set_target_properties(${_addlib_target} PROPERTIES VERSION ${SC_VERSION} 
SOVERSION ${SC_VERSION_MAJOR})
-    endif(OPENBSD)
-    if(APPLE)
-      set_target_properties(${_addlib_target} PROPERTIES LINK_FLAGS 
"-flat_namespace -undefined suppress")
-    endif(APPLE)
-  elseif(${_arg_prefix}_STATIC)
-    add_library(${_addlib_target} STATIC ${${_arg_prefix}_SOURCES})
-    target_compile_definitions(${_addlib_target} PRIVATE SC_STATIC)
-  else()
-    message(SEND_ERROR "SC_ADDLIB usage error!")
-  endif()
-
-  if(DEFINED ${_arg_prefix}_LINK_LIBRARIES)
-    foreach(_lib ${${_arg_prefix}_LINK_LIBRARIES})
-        if(${_arg_prefix}_STATIC AND TARGET ${_lib})
-         get_property(_libtype TARGET ${_lib} PROPERTY TYPE)
-         if(NOT ${_libtype} STREQUAL "STATIC_LIBRARY")
-             message(SEND_ERROR "SC_ADDLIB usage error - expected (static) 
LINK_LIBRARIES targets (${_lib})")
-            endif()
-        endif()
-        target_link_libraries(${_addlib_target} ${_lib})
-    endforeach()
-  endif()
-
-  if(NOT ${_arg_prefix}_NO_INSTALL AND NOT ${_arg_prefix}_TESTABLE)
-    install(TARGETS ${_addlib_target}
-      RUNTIME DESTINATION ${BIN_DIR}
-      LIBRARY DESTINATION ${LIB_DIR}
-      ARCHIVE DESTINATION ${LIB_DIR}   
-    )
-  endif()
-endmacro()
-
-# Local Variables:
-# tab-width: 8
-# mode: cmake
-# indent-tabs-mode: t
-# End:
-# ex: shiftwidth=2 tabstop=8
-

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/base/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/src/base/CMakeLists.txt     
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/src/base/CMakeLists.txt     
2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,5 +1,4 @@
-
-set(SC_BASE_SOURCES
+set(BASE_SOURCES
   sc_memmgr.cc
   sc_trace_fprintf.c
   sc_getopt.cc
@@ -9,7 +8,7 @@
   judy/src/judy.c
  )
 
-set(SC_BASE_HDRS
+set(BASE_HDRS
   sc_benchmark.h
   sc_memmgr.h
   sc_getopt.h
@@ -33,19 +32,37 @@
   add_definitions(-DSC_MEMMGR_ENABLE_CHECKS)
 endif()
 
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(base SHARED SOURCES ${SC_BASE_SOURCES})
-  if(WIN32)
-    target_link_libraries(base psapi)
-    target_compile_definitions(base PRIVATE SC_BASE_DLL_EXPORTS)
-  endif()
-endif()
+add_library(base-obj OBJECT ${BASE_SOURCES} ${BASE_HDRS})
+set_property(TARGET base-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+if(MSVC)
+  set_property(TARGET base-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_BASE_DLL_EXPORTS")
+endif(MSVC)
 
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(base-static STATIC SOURCES ${SC_BASE_SOURCES})
-  if(WIN32)
-    target_link_libraries(base-static psapi)
-  endif()
+add_library(base SHARED $<TARGET_OBJECTS:base-obj>)
+if(OPENBSD)
+  set_target_properties(base PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(base PROPERTIES VERSION ${SC_VERSION} SOVERSION 
${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET base APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  target_link_libraries(base psapi)
+  set_property(TARGET base APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_BASE_DLL_EXPORTS")
+  set_property(TARGET base APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS 
"SC_BASE_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS base
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
+
+if(BUILD_STATIC_LIBS)
+  add_library(base-static STATIC $<TARGET_OBJECTS:base-obj>)
+  install(TARGETS base-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
 endif()
 
 if(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src")
@@ -61,7 +78,7 @@
   message("Judy array source code extracted.")
 endif(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src")
 
-install(FILES ${SC_BASE_HDRS}
+install(FILES ${BASE_HDRS}
   DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/base)
 
 # Local Variables:

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/cldai/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/src/cldai/CMakeLists.txt    
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/src/cldai/CMakeLists.txt    
2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,5 +1,4 @@
-
-set(LIBSTEPDAI_SRCS
+set(STEPDAI_SRCS
   sdaiApplication_instance_set.cc
   sdaiBinary.cc
   sdaiDaObject.cc
@@ -13,7 +12,7 @@
   sdaiString.cc
   )
 
-SET(SC_CLDAI_HDRS
+SET(STEPDAI_HDRS
   sdaiApplication_instance_set.h
   sdaiBinary.h
   sdaiDaObject.h
@@ -34,20 +33,41 @@
   ${SC_SOURCE_DIR}/src/clutils
   )
 
-set(_libdeps steputils base)
+add_library(stepdai-obj OBJECT ${STEPDAI_SRCS})
+set_property(TARGET stepdai-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+add_dependencies(stepdai-obj base)
+if(MSVC)
+  set_property(TARGET stepdai-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_DAI_DLL_EXPORTS")
+endif(MSVC)
 
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(stepdai SHARED SOURCES ${LIBSTEPDAI_SRCS} LINK_LIBRARIES 
${_libdeps})
-  if(WIN32)
-    target_compile_definitions(stepdai PRIVATE SC_DAI_DLL_EXPORTS)
-  endif()
-endif()
+add_library(stepdai SHARED $<TARGET_OBJECTS:stepdai-obj>)
+target_link_libraries(stepdai steputils base)
+if(OPENBSD)
+  set_target_properties(stepdai PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(stepdai PROPERTIES VERSION ${SC_VERSION} SOVERSION 
${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET stepdai APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  set_property(TARGET stepdai APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_DAI_DLL_EXPORTS")
+  set_property(TARGET stepdai APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS 
"SC_DAI_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS stepdai
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(stepdai-static STATIC SOURCES ${LIBSTEPDAI_SRCS} LINK_LIBRARIES 
$<JOIN:${_libdeps},-static >-static)
-endif()
+if (BUILD_STATIC_LIBS)
+  add_library(stepdai-static STATIC $<TARGET_OBJECTS:stepdai-obj>)
+  install(TARGETS stepdai-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
+endif (BUILD_STATIC_LIBS)
 
-install(FILES ${SC_CLDAI_HDRS}
+install(FILES ${STEPDAI_HDRS}
   DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/cldai)
 
 # Local Variables:

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/cleditor/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/src/cleditor/CMakeLists.txt 
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/src/cleditor/CMakeLists.txt 
2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,5 +1,5 @@
 
-set(LIBSTEPEDITOR_SRCS
+set(STEPEDITOR_SRCS
   STEPfile.cc
   STEPfile.inline.cc
   cmdmgr.cc
@@ -9,7 +9,7 @@
   SdaiSchemaInit.cc
   )
 
-SET(SC_CLEDITOR_HDRS
+SET(STEPEDITOR_HDRS
   STEPfile.h
   cmdmgr.h
   editordefines.h
@@ -27,18 +27,41 @@
   ${SC_SOURCE_DIR}/src/clutils
   )
 
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(stepeditor SHARED SOURCES ${LIBSTEPEDITOR_SRCS} LINK_LIBRARIES 
stepcore stepdai steputils base)
-  if(WIN32)
-    target_compile_definitions(stepeditor PRIVATE SC_EDITOR_DLL_EXPORTS)
-  endif()
-endif()
+add_library(stepeditor-obj OBJECT ${STEPEDITOR_SRCS})
+set_property(TARGET stepeditor-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+add_dependencies(stepeditor-obj base)
+if(MSVC)
+  set_property(TARGET stepeditor-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_EDITOR_DLL_EXPORTS")
+endif(MSVC)
 
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(stepeditor-static STATIC SOURCES ${LIBSTEPEDITOR_SRCS} 
LINK_LIBRARIES stepcore-static stepdai-static steputils-static base-static)
-endif()
+add_library(stepeditor SHARED $<TARGET_OBJECTS:stepeditor-obj>)
+target_link_libraries(stepeditor steputils stepdai base)
+if(OPENBSD)
+  set_target_properties(stepeditor PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(stepeditor PROPERTIES VERSION ${SC_VERSION} SOVERSION 
${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET stepeditor APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  set_property(TARGET stepeditor APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_EDITOR_DLL_EXPORTS")
+  set_property(TARGET stepeditor APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS 
"SC_EDITOR_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS stepeditor
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
-install(FILES ${SC_CLEDITOR_HDRS}
+if (BUILD_STATIC_LIBS)
+  add_library(stepeditor-static STATIC $<TARGET_OBJECTS:stepeditor-obj>)
+  install(TARGETS stepeditor-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
+endif (BUILD_STATIC_LIBS)
+
+install(FILES ${STEPEDITOR_HDRS}
   DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/cleditor)
 
 # Local Variables:

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/cllazyfile/CMakeLists.txt
===================================================================
--- 
brlcad/branches/extbuild/src/other/ext/stepcode/src/cllazyfile/CMakeLists.txt   
    2020-12-03 01:12:07 UTC (rev 77882)
+++ 
brlcad/branches/extbuild/src/other/ext/stepcode/src/cllazyfile/CMakeLists.txt   
    2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,5 +1,5 @@
 
-set( clLazyFile_SRCS
+set(clLazyFile_SRCS
   lazyDataSectionReader.cc
   lazyFileReader.cc
   lazyInstMgr.cc
@@ -8,7 +8,7 @@
   lazyP21DataSectionReader.cc
   )
 
-set( SC_CLLAZYFILE_HDRS
+set(clLazyFile_HDRS
   headerSectionReader.h
   lazyFileReader.h
   lazyP21DataSectionReader.h
@@ -30,23 +30,41 @@
   ${SC_SOURCE_DIR}/src/base/judy/src
   )
 
-set(_libdeps stepcore stepdai steputils base stepeditor)
+add_library(steplazyfile-obj OBJECT ${clLazyFile_SRCS})
+set_property(TARGET steplazyfile-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+add_dependencies(steplazyfile-obj base)
+if(MSVC)
+  set_property(TARGET steplazyfile-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_LAZYFILE_DLL_EXPORTS")
+endif(MSVC)
 
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(steplazyfile SHARED SOURCES ${clLazyFile_SRCS} LINK_LIBRARIES 
${_libdeps})
-  if(WIN32)
-    target_compile_definitions(steplazyfile PRIVATE SC_LAZYFILE_DLL_EXPORTS)
-  endif()
-endif()
+add_library(steplazyfile SHARED $<TARGET_OBJECTS:steplazyfile-obj>)
+target_link_libraries(steplazyfile stepcore stepdai steputils base stepeditor)
+if(OPENBSD)
+  set_target_properties(steplazyfile PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(steplazyfile PROPERTIES VERSION ${SC_VERSION} 
SOVERSION ${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET steplazyfile APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  set_property(TARGET steplazyfile APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_LAZYFILE_DLL_EXPORTS")
+  set_property(TARGET steplazyfile APPEND PROPERTY 
INTERFACE_COMPILE_DEFINITIONS "SC_LAZYFILE_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS steplazyfile
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(steplazyfile-static STATIC SOURCES ${clLazyFile_SRCS} 
LINK_LIBRARIES $<JOIN:${_libdeps},-static >-static)
-endif()
+if (BUILD_STATIC_LIBS)
+  add_library(steplazyfile-static STATIC $<TARGET_OBJECTS:steplazyfile-obj>)
+  install(TARGETS steplazyfile-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
+endif (BUILD_STATIC_LIBS)
 
-SC_ADDEXEC(lazy_test SOURCES lazy_test.cc LINK_LIBRARIES steplazyfile 
stepeditor NO_INSTALL)
-target_compile_definitions(lazy_test PRIVATE NO_REGISTRY)
-
-install(FILES ${SC_CLLAZYFILE_HDRS}
+install(FILES ${clLazyFile_HDRS}
   DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/cllazyfile)
 
 # Local Variables:

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/clstepcore/CMakeLists.txt
===================================================================
--- 
brlcad/branches/extbuild/src/other/ext/stepcode/src/clstepcore/CMakeLists.txt   
    2020-12-03 01:12:07 UTC (rev 77882)
+++ 
brlcad/branches/extbuild/src/other/ext/stepcode/src/clstepcore/CMakeLists.txt   
    2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,5 +1,4 @@
-
-set(LIBSTEPCORE_SRCS
+set(STEPCORE_SRCS
   aggrTypeDescriptor.cc
   attrDescriptor.cc
   attrDescriptorList.cc
@@ -62,7 +61,7 @@
   whereRule.cc
 )
 
-set(SC_CLSTEPCORE_HDRS
+set(STEPCORE_HDRS
   aggrTypeDescriptor.h
   attrDescriptor.h
   attrDescriptorList.h
@@ -131,20 +130,41 @@
   ${SC_SOURCE_DIR}/src/clutils
   )
 
-set(_libdeps steputils stepdai base)
+add_library(stepcore-obj OBJECT ${STEPCORE_SRCS})
+set_property(TARGET stepcore-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+add_dependencies(stepcore-obj base)
+if(MSVC)
+  set_property(TARGET stepcore-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_CORE_DLL_EXPORTS")
+endif(MSVC)
 
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(stepcore SHARED SOURCES ${LIBSTEPCORE_SRCS} LINK_LIBRARIES 
${_libdeps})
-  if(WIN32)
-    target_compile_definitions(stepcore PRIVATE SC_CORE_DLL_EXPORTS)
-  endif()
-endif()
+add_library(stepcore SHARED $<TARGET_OBJECTS:stepcore-obj>)
+target_link_libraries(stepcore steputils stepdai base)
+if(OPENBSD)
+  set_target_properties(stepcore PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(stepcore PROPERTIES VERSION ${SC_VERSION} SOVERSION 
${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET stepcore APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  set_property(TARGET stepcore APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_CORE_DLL_EXPORTS")
+  set_property(TARGET stepcore APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS 
"SC_CORE_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS stepcore
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(stepcore-static STATIC SOURCES ${LIBSTEPCORE_SRCS} LINK_LIBRARIES 
$<JOIN:${_libdeps},-static>-static)
-endif()
+if (BUILD_STATIC_LIBS)
+  add_library(stepcore-static STATIC $<TARGET_OBJECTS:stepcore-obj>)
+  install(TARGETS stepcore-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
+endif (BUILD_STATIC_LIBS)
 
-install(FILES ${SC_CLSTEPCORE_HDRS}
+install(FILES ${STEPCORE_HDRS}
   DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/clstepcore)
 
 if(SC_ENABLE_TESTING)

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/clutils/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/src/clutils/CMakeLists.txt  
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/src/clutils/CMakeLists.txt  
2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,5 +1,4 @@
-
-set(LIBSTEPUTILS_SRCS
+set(STEPUTILS_SRCS
   Str.cc
   dirobj.cc
   gennode.cc
@@ -9,7 +8,7 @@
   errordesc.cc
   )
 
-set(SC_CLUTILS_HDRS
+set(STEPUTILS_HDRS
   dirobj.h
   errordesc.h
   gennodearray.h
@@ -25,22 +24,42 @@
   ${CMAKE_CURRENT_SOURCE_DIR}
   )
 
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(steputils SHARED SOURCES ${LIBSTEPUTILS_SRCS} LINK_LIBRARIES base)
-  if(WIN32)
-    target_compile_definitions(steputils PRIVATE SC_UTILS_DLL_EXPORTS)
-    target_link_libraries(steputils shlwapi)
-  endif()
-endif()
+add_library(steputils-obj OBJECT ${STEPUTILS_SRCS})
+set_property(TARGET steputils-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+add_dependencies(steputils-obj base)
+if(MSVC)
+  set_property(TARGET steputils-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_UTILS_DLL_EXPORTS")
+endif(MSVC)
 
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(steputils-static STATIC SOURCES ${LIBSTEPUTILS_SRCS} 
LINK_LIBRARIES base-static)
-  if(WIN32)
-    target_link_libraries(steputils-static shlwapi)
-  endif()
-endif()
+add_library(steputils SHARED $<TARGET_OBJECTS:steputils-obj>)
+target_link_libraries(steputils base)
+if(OPENBSD)
+  set_target_properties(steputils PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(steputils PROPERTIES VERSION ${SC_VERSION} SOVERSION 
${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET steputils APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  target_link_libraries(steputils shlwapi)
+  set_property(TARGET steputils APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_UTILS_DLL_EXPORTS")
+  set_property(TARGET steputils APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS 
"SC_UTILS_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS steputils
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
-install(FILES ${SC_CLUTILS_HDRS}
+if (BUILD_STATIC_LIBS)
+  add_library(steputils-static STATIC $<TARGET_OBJECTS:steputils-obj>)
+  install(TARGETS steputils-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
+endif (BUILD_STATIC_LIBS)
+
+install(FILES ${STEPUTILS_HDRS}
   DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/clutils)
 
 # Local Variables:

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/CMakeLists.txt  
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2cxx/CMakeLists.txt  
2020-12-03 02:54:16 UTC (rev 77883)
@@ -37,12 +37,13 @@
   ${SC_SOURCE_DIR}/src/base
   )
 
-SC_ADDEXEC(exp2cxx SOURCES ${exp2cxx_SOURCES} LINK_LIBRARIES libexppp express 
base)
+add_executable(exp2cxx ${exp2cxx_SOURCES})
+target_link_libraries(exp2cxx libexppp express base)
+install(TARGETS exp2cxx
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
-if(NOT SC_IS_SUBBUILD AND SC_GIT_VERSION)
-  add_dependencies(exp2cxx version_string)
-endif(NOT SC_IS_SUBBUILD AND SC_GIT_VERSION)
-
 if(SC_ENABLE_TESTING)
   add_subdirectory(test)
 endif(SC_ENABLE_TESTING)

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2python/CMakeLists.txt
===================================================================
--- 
brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2python/CMakeLists.txt   
    2020-12-03 01:12:07 UTC (rev 77882)
+++ 
brlcad/branches/extbuild/src/other/ext/stepcode/src/exp2python/CMakeLists.txt   
    2020-12-03 02:54:16 UTC (rev 77883)
@@ -29,11 +29,14 @@
     ../exp2cxx/write.cc
     ../exp2cxx/print.cc
    )
- SC_ADDEXEC(exp2python SOURCES ${exp2python_SOURCES} LINK_LIBRARIES express 
base)
 
-  if(NOT SC_IS_SUBBUILD AND SC_GIT_VERSION)
-    add_dependencies(exp2python version_string)
-  endif(NOT SC_IS_SUBBUILD AND SC_GIT_VERSION)
+ add_executable(exp2python ${exp2python_SOURCES})
+ target_link_libraries(exp2python express base)
+ install(TARGETS exp2python
+   RUNTIME DESTINATION ${BIN_DIR}
+   LIBRARY DESTINATION ${LIB_DIR}
+   ARCHIVE DESTINATION ${LIB_DIR})
+
 endif(SC_PYTHON_GENERATOR)
 
 # Local Variables:

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/exppp/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/src/exppp/CMakeLists.txt    
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/src/exppp/CMakeLists.txt    
2020-12-03 02:54:16 UTC (rev 77883)
@@ -18,7 +18,7 @@
   pretty_where.c
  )
 
-SET(EXPPP_SOURCES
+set(EXPPP_SOURCES
   ../express/fedex.c
   exppp-main.c
  )
@@ -30,20 +30,49 @@
   ${SC_SOURCE_DIR}/src/express
  )
 
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(libexppp SHARED SOURCES ${LIBEXPPP_SOURCES} LINK_LIBRARIES express 
base)
-  set_target_properties(libexppp PROPERTIES PREFIX "")
-  if(WIN32)
-    target_compile_definitions(libexppp PRIVATE SC_EXPPP_DLL_EXPORTS)
-  endif()
-endif()
+add_library(libexppp-obj OBJECT ${LIBEXPPP_SOURCES})
+set_target_properties(libexppp-obj PROPERTIES PREFIX "")
+set_property(TARGET libexppp-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+add_dependencies(libexppp-obj base)
+if(MSVC)
+  set_property(TARGET libexppp-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_EXPPP_DLL_EXPORTS")
+endif(MSVC)
 
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(libexppp-static STATIC SOURCES ${LIBEXPPP_SOURCES} LINK_LIBRARIES 
express-static base-static)
+add_library(libexppp SHARED $<TARGET_OBJECTS:libexppp-obj>)
+target_link_libraries(libexppp base)
+set_target_properties(libexppp PROPERTIES PREFIX "")
+if(OPENBSD)
+  set_target_properties(libexppp PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(libexppp PROPERTIES VERSION ${SC_VERSION} SOVERSION 
${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET libexppp APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  set_property(TARGET libexppp APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_EXPPP_DLL_EXPORTS")
+  set_property(TARGET libexppp APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS 
"SC_EXPPP_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS libexppp
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
+
+if (BUILD_STATIC_LIBS)
+  add_library(libexppp-static STATIC $<TARGET_OBJECTS:libexppp-obj>)
   set_target_properties(libexppp-static PROPERTIES PREFIX "")
-endif()
+  install(TARGETS libexppp-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
+endif (BUILD_STATIC_LIBS)
 
-SC_ADDEXEC(exppp SOURCES ${EXPPP_SOURCES} LINK_LIBRARIES libexppp express base)
+add_executable(exppp ${EXPPP_SOURCES})
+target_link_libraries(exppp libexppp express base)
+install(TARGETS exppp
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
 if(SC_ENABLE_TESTING)
   add_subdirectory(test)

Modified: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/express/CMakeLists.txt
===================================================================
--- brlcad/branches/extbuild/src/other/ext/stepcode/src/express/CMakeLists.txt  
2020-12-03 01:12:07 UTC (rev 77882)
+++ brlcad/branches/extbuild/src/other/ext/stepcode/src/express/CMakeLists.txt  
2020-12-03 02:54:16 UTC (rev 77883)
@@ -10,19 +10,23 @@
   LEMON_TARGET(ExpParser expparse.y)
   PERPLEX_TARGET(ExpScanner expscan.l)
   ADD_PERPLEX_LEMON_DEPENDENCY(ExpScanner ExpParser)
-
-  add_library(objlib_expscan_c OBJECT ${PERPLEX_ExpScanner_SRC})
-  set_property(TARGET objlib_expscan_c PROPERTY POSITION_INDEPENDENT_CODE ON)
-
-  add_library(objlib_expparse_c OBJECT ${LEMON_ExpParser_SRC})
-  set_property(TARGET objlib_expparse_c PROPERTY POSITION_INDEPENDENT_CODE ON)
-
+  include_directories(
+    ${LEMON_ExpParser_INCLUDE_DIR}
+    ${PERPLEX_ExpScanner_INCLUDE_DIR}
+    )
 else(SC_GENERATE_LP_SOURCES)
-  add_subdirectory(generated)
+  set(LEMON_ExpParser_SRC ${CMAKE_CURRENT_SOURCE_DIR}/generated/expparse.c)
+  set(LEMON_ExpParser_HDR ${CMAKE_CURRENT_SOURCE_DIR}/generated/expparse.h)
+  set(PERPLEX_ExpScanner_SRC ${CMAKE_CURRENT_SOURCE_DIR}/generated/expscan.c)
+  set(PERPLEX_ExpScanner_HDR ${CMAKE_CURRENT_SOURCE_DIR}/generated/expscan.h)
   include_directories(generated)
 endif(SC_GENERATE_LP_SOURCES)
 
 set(EXPRESS_SOURCES
+  ${LEMON_ExpParser_HDR}
+  ${LEMON_ExpParser_SRC}
+  ${PERPLEX_ExpScanner_HDR}
+  ${PERPLEX_ExpScanner_SRC}
   symbol.c
   type.c
   variable.c
@@ -47,31 +51,42 @@
   ordered_attrs.cc
   info.c
   factory.c
- )
+  )
 
-set(EXPRESS_OBJS)
-foreach(_src ${EXPRESS_SOURCES})
-    string(REPLACE "." "_" _suffix ${_src})
-    set(_objlib "objlib_${_suffix}")
-    add_library(${_objlib} OBJECT ${_src})
-    # TODO: probably PIC should be used everywhere...
-    set_property(TARGET ${_objlib} PROPERTY POSITION_INDEPENDENT_CODE ON)
-    list(APPEND EXPRESS_OBJS $<TARGET_OBJECTS:${_objlib}>)
-endforeach()
+add_library(express-obj OBJECT ${EXPRESS_SOURCES})
+add_dependencies(express-obj base)
+set_property(TARGET express-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+if(MSVC)
+  set_property(TARGET express-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_EXPRESS_DLL_EXPORTS")
+endif(MSVC)
 
-list(APPEND EXPRESS_OBJS $<TARGET_OBJECTS:objlib_expscan_c>)
-list(APPEND EXPRESS_OBJS $<TARGET_OBJECTS:objlib_expparse_c>)
+add_library(express SHARED $<TARGET_OBJECTS:express-obj>)
+target_link_libraries(express base)
+if(OPENBSD)
+  set_target_properties(express PROPERTIES VERSION 
${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
+else(OPENBSD)
+  set_target_properties(express PROPERTIES VERSION ${SC_VERSION} SOVERSION 
${SC_VERSION_MAJOR})
+endif(OPENBSD)
+if(APPLE)
+  set_property(TARGET express APPEND PROPERTY LINK_FLAGS "-flat_namespace 
-undefined suppress")
+endif(APPLE)
+if(MSVC)
+  set_property(TARGET express APPEND PROPERTY COMPILE_DEFINITIONS 
"SC_EXPRESS_DLL_EXPORTS")
+  set_property(TARGET express APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS 
"SC_EXPRESS_DLL_IMPORTS")
+endif(MSVC)
+install(TARGETS express
+  RUNTIME DESTINATION ${BIN_DIR}
+  LIBRARY DESTINATION ${LIB_DIR}
+  ARCHIVE DESTINATION ${LIB_DIR})
 
+if (BUILD_STATIC_LIBS)
+  add_library(express-static STATIC $<TARGET_OBJECTS:express-obj>)
+  install(TARGETS express-static
+    RUNTIME DESTINATION ${BIN_DIR}
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR})
+endif (BUILD_STATIC_LIBS)
 
-if(SC_GENERATE_LP_SOURCES)
-  set_property(TARGET objlib_expparse_c objlib_express_c objlib_lexact_c 
-              APPEND PROPERTY INCLUDE_DIRECTORIES 
"${PERPLEX_ExpScanner_INCLUDE_DIR}")
-  set_property(TARGET objlib_expscan_c objlib_express_c objlib_lexact_c
-               APPEND PROPERTY INCLUDE_DIRECTORIES 
"${LEMON_ExpParser_INCLUDE_DIR}")
-  # OBJECT libraries are not targets, and so an explicit dependency is required
-  set_source_files_properties(express.c lexact.c PROPERTIES OBJECT_DEPENDS 
"${PERPLEX_ExpScanner_HDR};${LEMON_ExpParser_HDR}")
-endif()
-
 # TODO
 # Currently, fedex.c provides the main() for multiple programs. These programs
 # provide custom behavior by defining EXPRESSinit_init (called by fedex.c's
@@ -85,36 +100,9 @@
   fedex.c
   inithook.c
  )
+add_executable(check-express ${CHECK_EXPRESS_SOURCES})
+target_link_libraries(check-express express base)
 
-SET(EXPRESS_PRIVATE_HDRS
-  exptoks.h
-  stack.h
-  )
-
-variable_watch(SC_ADDLIB_EXPRESS_ARG_LINK_LIBRARIES)
-variable_watch(SC_ADDLIB_EXPRESS-STATIC_ARG_LINK_LIBRARIES)
-
-if($CACHE{SC_BUILD_SHARED_LIBS})
-  SC_ADDLIB(express SHARED SOURCES "dummy.c" ${EXPRESS_OBJS} LINK_LIBRARIES 
base)
-  if(WIN32)
-    target_compile_definitions(express PRIVATE SC_EXPRESS_DLL_EXPORTS)
-  endif()
-
-  if(NOT SC_IS_SUBBUILD AND SC_GIT_VERSION)
-    add_dependencies(express version_string)
-  endif()
-endif()
-
-if($CACHE{SC_BUILD_STATIC_LIBS})
-  SC_ADDLIB(express-static STATIC SOURCES "dummy.c" ${EXPRESS_OBJS} 
LINK_LIBRARIES base-static)
- 
-  if(NOT SC_IS_SUBBUILD AND SC_GIT_VERSION)
-    add_dependencies(express-static version_string)
-  endif()
-endif()
-
-SC_ADDEXEC(check-express SOURCES ${CHECK_EXPRESS_SOURCES} LINK_LIBRARIES 
express base ${SC_EXEC_NOINSTALL})
-
 if(SC_ENABLE_TESTING)
   add_subdirectory(test)
 endif(SC_ENABLE_TESTING)

Deleted: 
brlcad/branches/extbuild/src/other/ext/stepcode/src/express/generated/CMakeLists.txt
===================================================================
--- 
brlcad/branches/extbuild/src/other/ext/stepcode/src/express/generated/CMakeLists.txt
        2020-12-03 01:12:07 UTC (rev 77882)
+++ 
brlcad/branches/extbuild/src/other/ext/stepcode/src/express/generated/CMakeLists.txt
        2020-12-03 02:54:16 UTC (rev 77883)
@@ -1,8 +0,0 @@
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-
-add_library(objlib_expscan_c OBJECT expscan.c)
-set_property(TARGET objlib_expscan_c PROPERTY POSITION_INDEPENDENT_CODE ON)
-
-add_library(objlib_expparse_c OBJECT expparse.c)
-set_property(TARGET objlib_expparse_c PROPERTY POSITION_INDEPENDENT_CODE ON)
-

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