forked from gerritvoss/OpenSGToolbox
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathCMakeModuleInclude.txt
More file actions
40 lines (28 loc) · 1.45 KB
/
CMakeModuleInclude.txt
File metadata and controls
40 lines (28 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#Get the directory of OpenSGToolbox
GET_FILENAME_COMPONENT(_CMAKE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
SET(OPENSG_TOOLBOX_BASE_DIR "${_CMAKE_CURRENT_LIST_DIR}")
#Add to the Core extensions and examples
LIST(APPEND OSG_CORE_EXTENSIONS "${OPENSG_TOOLBOX_BASE_DIR}/Source")
LIST(REMOVE_DUPLICATES OSG_CORE_EXTENSIONS)
LIST(APPEND OSG_CORE_EXAMPLE_EXTENSIONS "${OPENSG_TOOLBOX_BASE_DIR}/Examples")
LIST(REMOVE_DUPLICATES OSG_CORE_EXAMPLE_EXTENSIONS)
#Find all of the Modules
FILE(GLOB_RECURSE _OSG_EXT_MODULE_FILES
"${OPENSG_TOOLBOX_BASE_DIR}/Source/*CMakeLists.Lib.*.txt")
FOREACH(_OSG_EXT_MODULE_FILE ${_OSG_EXT_MODULE_FILES})
#Get the lib directory
GET_FILENAME_COMPONENT(TOOLBOX_LIB_DIR ${_OSG_EXT_MODULE_FILE} PATH)
#Get the lib name
GET_FILENAME_COMPONENT(TOOLBOX_LIB_NAME ${_OSG_EXT_MODULE_FILE} NAME)
STRING(REGEX MATCH "CMakeLists\\.Lib\\.(.+)\\.txt" TOOLBOX_LIB_NAME_MATCH ${TOOLBOX_LIB_NAME})
SET(TOOLBOX_LIB_NAME ${CMAKE_MATCH_1})
#Add the External Module
LIST(APPEND OSG_EXTRA_EXTERNAL_MODULES "${TOOLBOX_LIB_NAME}")
#Add the option that can turn the building of this library
#on or off
OPTION(OSGBUILD_${TOOLBOX_LIB_NAME}
"Build using ${TOOLBOX_LIB_NAME} module" ON)
#Add the Option for the source directory
SET(OSG_${TOOLBOX_LIB_NAME}_SOURCE_DIR "${TOOLBOX_LIB_DIR}" CACHE PATH "${TOOLBOX_LIB_DIR} Source Directory")
ENDFOREACH()
LIST(REMOVE_DUPLICATES OSG_EXTRA_EXTERNAL_MODULES)