Revision: 75464
http://sourceforge.net/p/brlcad/code/75464
Author: starseeker
Date: 2020-04-18 13:47:10 +0000 (Sat, 18 Apr 2020)
Log Message:
-----------
Start working on the CMake setup needed to build dm backends as plugins
Modified Paths:
--------------
brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Util.cmake
brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
Added Paths:
-----------
brlcad/branches/dm-fb-merge/src/libdm/null/CMakeLists.txt
Modified: brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Util.cmake
===================================================================
--- brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Util.cmake 2020-04-18
13:21:34 UTC (rev 75463)
+++ brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Util.cmake 2020-04-18
13:47:10 UTC (rev 75464)
@@ -155,6 +155,37 @@
endfunction(IS_SUBPATH)
#-----------------------------------------------------------------------------
+# Plugins for libraries need a specific override of their output directories
+# to put them in the correct relative location
+function(PLUGIN_SETUP plugin_targets subdir)
+ set(DIR_TYPES LIBRARY RUNTIME ARCHIVE)
+ foreach (target_name ${plugin_targets})
+ if (NOT CMAKE_CONFIGURATION_TYPES)
+ foreach(dt ${DIR_TYPES})
+ get_property(cd TARGET ${target_name} PROPERTY ${dt}_OUTPUT_DIRECTORY)
+ set_property(TARGET ${target_name} PROPERTY ${dt}_OUTPUT_DIRECTORY
"${cd}/../${LIBEXEC_DIR}/${subdir}")
+ endforeach(dt ${DIR_TYPES})
+ else (NOT CMAKE_CONFIGURATION_TYPES)
+ foreach(ct ${CMAKE_CONFIGURATION_TYPES})
+ if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
+ set(CMAKE_BINARY_DIR ${CMAKE_BINARY_DIR}/${ct})
+ endif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
+ string(TOUPPER "${ct}" CTU)
+ foreach(dt ${DIR_TYPES})
+ get_property(cd TARGET ${target_name} PROPERTY
${dt}_OUTPUT_DIRECTORY_${CTU})
+ set_property(TARGET ${target_name} PROPERTY
${dt}_OUTPUT_DIRECTORY_${CTU} "${cd}/../${LIBEXEC_DIR}/${subdir}")
+ endforeach(dt ${DIR_TYPES})
+ endforeach(ct ${CMAKE_CONFIGURATION_TYPES})
+ endif (NOT CMAKE_CONFIGURATION_TYPES)
+ set_target_properties(${target_name} PROPERTIES FOLDER "BRL-CAD
Plugins/${subdir}")
+ install(TARGETS ${target_name}
+ RUNTIME DESTINATION ${LIBEXEC_DIR}/${subdir}
+ LIBRARY DESTINATION ${LIBEXEC_DIR}/${subdir}
+ ARCHIVE DESTINATION ${LIBEXEC_DIR}/${subdir})
+ endforeach (target_name${plugins})
+endfunction(PLUGIN_SETUP)
+
+#-----------------------------------------------------------------------------
# Distcheck needs to know what files are "supposed" to be present in order to
# make sure the source tree is clean prior to building a distribution tarball,
#
Modified: brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt 2020-04-18
13:21:34 UTC (rev 75463)
+++ brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt 2020-04-18
13:47:10 UTC (rev 75464)
@@ -21,6 +21,8 @@
BRLCAD_LIB_INCLUDE_DIRS(dm DM_INCLUDE_DIRS DM_LOCAL_INCLUDE_DIRS)
+add_subdirectory(null)
+
# Initialize libdm_DEFINES in case of reconfiguration
set(libdm_DEFINES "")
Added: brlcad/branches/dm-fb-merge/src/libdm/null/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/null/CMakeLists.txt
(rev 0)
+++ brlcad/branches/dm-fb-merge/src/libdm/null/CMakeLists.txt 2020-04-18
13:47:10 UTC (rev 75464)
@@ -0,0 +1,30 @@
+# Include directories needed by libdm users
+set(DM_NULL_INCLUDE_DIRS
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${BRLCAD_BINARY_DIR}/include
+ ${BRLCAD_SOURCE_DIR}/include
+ )
+include_directories(${DM_NULL_INCLUDE_DIRS})
+
+set(NULL_SRCS
+ dm-Null.c
+ if_null.c
+ )
+
+add_library(dm_null SHARED ${NULL_SRCS})
+target_link_libraries(dm_null libdm libbu)
+if (CPP_DLL_DEFINES)
+ set_property(TARGET dm_null APPEND PROPERTY COMPILE_DEFINITIONS
"DM_DLL_EXPORTS")
+endif (CPP_DLL_DEFINES)
+VALIDATE_STYLE(dm_null "${NULL_SRCS}")
+
+PLUGIN_SETUP(dm_null dm)
+
+CMAKEFILES(dm-Null.h)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
Property changes on: brlcad/branches/dm-fb-merge/src/libdm/null/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
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