Skip to content

Commit 33826b2

Browse files
committed
add an option to build user-defined executables and link against each sdai lib
1 parent 1da68fd commit 33826b2

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ OPTION_WITH_DEFAULT(SCL_CPP_GENERATOR "Compile fedex_plus" ON)
8585
OPTION_WITH_DEFAULT(SCL_MEMMGR_ENABLE_CHECKS "Enable scl_memmgr's memory leak detection" OFF)
8686
OPTION_WITH_DEFAULT(SCL_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in fedex_plus may be located" OFF)
8787

88+
if(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
89+
set( SC_SDAI_ADDITIONAL_EXES_SRCS "" CACHE STRING "Source files for additional executables to be linked with SDAI libs" )
90+
endif(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
91+
8892
#this makes SCL_BUILD_SCHEMAS show up in cmake-gui
8993
if( NOT DEFINED ${SCL_BUILD_SCHEMAS} )
9094
SET(SCL_BUILD_SCHEMAS "ALL" CACHE string "Semicolon-separated list of paths to EXPRESS schemas to be built" )

data/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
9292
set_target_properties( p21read_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
9393
${${PROJECT_NAME}_COMPILE_FLAGS} )
9494

95+
#add user-defined executables
96+
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
97+
get_filename_component( name ${src} NAME_WE )
98+
get_filename_component( path ${src} ABSOLUTE )
99+
SCL_ADDEXEC( ${name}_${PROJECT_NAME} "${src}" "${PROJECT_NAME} base" "TESTABLE" )
100+
add_dependencies( ${name}_${PROJECT_NAME} version_string )
101+
set_target_properties( ${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
102+
"${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}" )
103+
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
104+
95105
#find all part 21 files in schema dir, add a test for each one
96106
get_filename_component( SCHEMA_DIR ${SCHEMA_FILE} PATH )
97107
file( GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 ${SCHEMA_DIR}/*.ifc )
@@ -108,6 +118,11 @@ ENDFUNCTION(BUILD_A_SCHEMA)
108118
#----------------------------------------------------------------------------------------------------
109119

110120
if( DEFINED SCL_BUILD_SCHEMAS )
121+
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
122+
get_filename_component( name ${src} NAME_WE )
123+
message( STATUS "Additional SDAI executable: ${name}" )
124+
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
125+
111126
if( SCL_BUILD_SCHEMAS STREQUAL "ALL" )
112127
file( GLOB_RECURSE SCL_BUILD_SCHEMAS ${SCL_SOURCE_DIR}/data/*.exp )
113128
endif()

0 commit comments

Comments
 (0)