lanl/Draco

Update component level CMakeLists.txt to match rng and quadrature

Closed this issue · 1 comments

Modern CMake

Make better use of:

  • target_sources (use generator-expression prefixes)
    • DBSCFGDIR_LIBRARY (install dll and pdb files in /bin).
    • DBSCFG_IMPORT_PREFIX.
  • target_include_directories
  • target_link_libraries
  • Move common code into add_component_library and add_component_executable.

Example:

string(CONCAT header_prefix_source 
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:${DBSCFG_IMPORT_PREFIX}/rng>")
string(CONCAT header_prefix_binary "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>"
"$<INSTALL_INTERFACE:${DBSCFG_IMPORT_PREFIX}>")
foreach( file ${headers} )
list(APPEND headers_public ${header_prefix_source}/${file})
target_sources( Lib_rng PRIVATE "${headers_public}" PRIVATE "${sources}" )

Use #807 as a guide.

Installed dll file need to be collocated with applications.

  • All dll files should be installed to the bin directory instead of the lib directory.
  • Currently, python unit test drivers for Jayenne are missing information in the output because draco_info.exe doesn't run w/o the required dll's being collocated.

Moved to re-git