1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
5 FIND_PACKAGE(SWIG REQUIRED)
6 INCLUDE(${SWIG_USE_FILE})
8 INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/src/Events
13 Config_FeatureMessage.h
16 Config_FeatureReader.h
20 Config_PointerMessage.h
22 Config_ValidatorMessage.h
25 Config_AttributeMessage.h
26 Config_ValidatorReader.h
27 Config_DataModelReader.h
32 Config_FeatureMessage.cpp
34 Config_ModuleReader.cpp
35 Config_FeatureReader.cpp
37 Config_WidgetReader.cpp
38 Config_PointerMessage.cpp
40 Config_ValidatorMessage.cpp
42 Config_PropManager.cpp
43 Config_AttributeMessage.cpp
44 Config_ValidatorReader.cpp
45 Config_DataModelReader.cpp
49 SET(CMAKE_SWIG_FLAGS -threads -Wall)
50 SET_SOURCE_FILES_PROPERTIES(ConfigAPI.i PROPERTIES CPLUSPLUS ON)
51 SET_SOURCE_FILES_PROPERTIES(ConfigAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
53 ${CMAKE_CURRENT_BINARY_DIR}/ConfigAPI.py
55 SET(SWIG_LINK_LIBRARIES
59 SWIG_ADD_MODULE(ConfigAPI python ConfigAPI.i ${PROJECT_HEADERS})
60 SWIG_LINK_LIBRARIES(ConfigAPI ${SWIG_LINK_LIBRARIES})
62 SET_TARGET_PROPERTIES(_ConfigAPI PROPERTIES DEBUG_OUTPUT_NAME _ConfigAPI_d)
67 ${CMAKE_CURRENT_BINARY_DIR}/plugins.xml
77 SOURCE_GROUP ("Resource Files" FILES ${XML_RESOURCES})
79 ADD_DEFINITIONS(-DCONFIG_EXPORTS -D_SCL_SECURE_NO_WARNINGS)
80 # -D_SCL_SECURE_NO_WARNINGS - to disable warnings 4996
82 ADD_LIBRARY(Config SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES})
84 TARGET_LINK_LIBRARIES(Config ${PROJECT_LIBRARIES})
88 # the solver to activate after installation
89 SET(DEFAULT_SOLVER "PlaneGCS")
91 # the list of all solvers
92 SET(SOLVERS "SolveSpace" "PlaneGCS")
94 # apply NO_<solver> variables
95 FOREACH(solver IN LISTS SOLVERS)
97 LIST(REMOVE_ITEM SOLVERS ${solver})
101 # check default solver in the list of solvers
102 LIST(FIND SOLVERS ${DEFAULT_SOLVER} INDEX)
103 IF(${INDEX} GREATER -1)
104 MESSAGE(STATUS "Default solver: ${DEFAULT_SOLVER}")
106 MESSAGE(FATAL_ERROR "Default solver: ${DEFAULT_SOLVER} is switched off.\nUnset NO_${DEFAULT_SOLVER} variable or define another default solver DEFAULT_SOLVER=<SOLVER> from the list: ${SOLVERS}.")
109 # prepare variables for configuration
110 SET(DEFAULT_SOLVER " <plugin library=\"${DEFAULT_SOLVER}Solver\"/>")
111 FOREACH(solver IN LISTS SOLVERS)
112 IF(DEFINED ALL_SOLVERS)
113 SET(ALL_SOLVERS "${ALL_SOLVERS}\n")
115 SET(ALL_SOLVERS "${ALL_SOLVERS} <plugin library=\"${solver}Solver\"/>")
120 "${CMAKE_CURRENT_SOURCE_DIR}/plugins.xml.in"
121 "${CMAKE_CURRENT_BINARY_DIR}/plugins.xml"
124 INSTALL(TARGETS Config DESTINATION ${SHAPER_INSTALL_BIN})
125 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
127 INSTALL(TARGETS _ConfigAPI DESTINATION ${SHAPER_INSTALL_SWIG})
128 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION ${SHAPER_INSTALL_SWIG})