forked from FreeCAD/FreeCAD
/
CMakeLists.txt
126 lines (108 loc) · 3.98 KB
/
CMakeLists.txt
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
add_definitions(-DSOQT_DLL -DCOIN_DLL)
include_directories(
../include
${COIN3D_INCLUDE_DIR}
${PYTHON_INCLUDE_PATH}
${SOQT_INCLUDE_DIR}
${QT_INCLUDE_DIR}
)
########################### CoinPy ###########################
if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
endif(MSVC)
set(CoinPy_SRCS
coin_wrap.cpp
coin_header_includes.h
)
if(MSVC)
set(CoinPy_LIBS
debug MSVCRTD.LIB
debug MSVCPRTD.LIB
optimized MSVCRT.LIB
optimized MSVCPRT.LIB
Rpcrt4.lib
debug ${COIN3D_LIBRARY_DEBUG}
optimized ${COIN3D_LIBRARY_RELEASE}
debug ${PYTHON_DEBUG_LIBRARY}
optimized ${PYTHON_LIBRARY})
else(MSVC)
set(CoinPy_LIBS
${COIN3D_LIBRARY}
${PYTHON_LIBRARY})
endif(MSVC)
add_library(coin SHARED ${CoinPy_SRCS})
target_link_libraries(coin ${CoinPy_LIBS})
if(MSVC)
set_target_properties(coin PROPERTIES SUFFIX ".pyd")
set_target_properties(coin PROPERTIES DEBUG_OUTPUT_NAME "_coin_d")
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
set_target_properties(coin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
set_target_properties(coin PROPERTIES PREFIX "../")
elseif(MINGW)
set_target_properties(coin PROPERTIES SUFFIX ".pyd")
set_target_properties(coin PROPERTIES DEBUG_OUTPUT_NAME "_coin_d")
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
set_target_properties(coin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
set_target_properties(coin PROPERTIES PREFIX "")
else(MSVC)
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
set_target_properties(coin PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
set_target_properties(coin PROPERTIES PREFIX "")
set_target_properties(coin PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/bin/pivy)
endif(MSVC)
fc_copy_sources(coin "${CMAKE_BINARY_DIR}/bin/pivy"
__init__.py
coin.py
sogui.py
)
install(TARGETS coin DESTINATION bin/pivy)
install(FILES __init__.py coin.py sogui.py DESTINATION bin/pivy)
########################### SoQtPy ###########################
set(SoQtPy_SRCS
soqt_wrap.cpp
)
if(MSVC)
set(SoQtPy_LIBS
debug MSVCRTD.LIB
debug MSVCPRTD.LIB
optimized MSVCRT.LIB
optimized MSVCPRT.LIB
Rpcrt4.lib
debug ${SOQT_LIBRARY_DEBUG}
optimized ${SOQT_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG}
optimized ${COIN3D_LIBRARY_RELEASE}
debug ${PYTHON_DEBUG_LIBRARY}
optimized ${PYTHON_LIBRARY})
else(MSVC)
set(SoQtPy_LIBS
${SOQT_LIBRARY}
${COIN3D_LIBRARY}
${PYTHON_LIBRARY})
endif(MSVC)
add_library(soqt SHARED ${SoQtPy_SRCS})
target_link_libraries(soqt ${SoQtPy_LIBS})
if(MSVC)
set_target_properties(soqt PROPERTIES SUFFIX ".pyd")
set_target_properties(soqt PROPERTIES DEBUG_OUTPUT_NAME "_soqt_d")
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
set_target_properties(soqt PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
set_target_properties(soqt PROPERTIES PREFIX "../")
elseif(MINGW)
set_target_properties(soqt PROPERTIES SUFFIX ".pyd")
set_target_properties(soqt PROPERTIES DEBUG_OUTPUT_NAME "_soqt_d")
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
set_target_properties(soqt PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
set_target_properties(soqt PROPERTIES PREFIX "")
else(MSVC)
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
set_target_properties(soqt PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
set_target_properties(soqt PROPERTIES PREFIX "")
set_target_properties(soqt PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/bin/pivy/gui)
endif(MSVC)
fc_copy_sources(soqt "${CMAKE_BINARY_DIR}/bin/pivy"
gui/soqt.py
gui/__init__.py
)
install(TARGETS soqt DESTINATION bin/pivy/gui)
install(FILES gui/__init__.py soqt.py DESTINATION bin/pivy/gui)