forked from sofa-framework/sofa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpackage.cmake
56 lines (44 loc) · 1.49 KB
/
package.cmake
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
######################
# Wrapper macro to set boolean value to a variable
macro(setSofaOption name value)
set(${name} "${value}" CACHE BOOL "" FORCE)
message("${name} ${value}")
endmacro()
macro(setSofaPath name value)
set(${name} "${value}" CACHE PATH "" FORCE)
message("${name} ${value}")
endmacro()
macro(setSofaString name value)
set(${name} "${value}" CACHE STRING "" FORCE)
message("${name} ${value}")
endmacro()
macro(setSofaFilePath name value)
set(${name} "${value}" CACHE FILEPATH "" FORCE)
message("${name} ${value}")
endmacro()
######################
setSofaString(CMAKE_BUILD_TYPE Release)
setSofaOption(APPLICATION_RUNSOFA ON)
setSofaOption(APPLICATION_MODELER OFF)
setSofaOption(SOFA_USE_MASK OFF)
setSofaOption(SOFA_BUILD_TESTS OFF)
setSofaOption(SOFA_BUILD_TUTORIALS OFF)
# Set all plugins OFF
get_cmake_property(_variableNames VARIABLES)
list (SORT _variableNames)
foreach (_variableName ${_variableNames})
if(_variableName MATCHES "^PLUGIN_")
setSofaOption(${_variableName} OFF)
endif()
endforeach()
# Set some plugins ON
setSofaOption(PLUGIN_SOFAALLCOMMONCOMPONENTS ON)
setSofaOption(PLUGIN_CIMGPLUGIN ON)
setSofaOption(PLUGIN_SOFAPYTHON ON)
setSofaOption(PLUGIN_SOFAMISCCOLLISION ON)
# Copy resources files (etc/, share/, examples/) when installing
setSofaOption(SOFA_INSTALL_RESOURCES_FILES ON)
# MacOS bundle creation
setSofaOption(RUNSOFA_INSTALL_AS_BUNDLE ON)
# install GTest even if SOFA_BUILD_TESTS=OFF
add_subdirectory(extlibs/gtest)