136 lines
4.9 KiB
CMake
136 lines
4.9 KiB
CMake
|
|
SET(Examples_Files
|
|
Schenkel.stp
|
|
DrawingExample.FCStd
|
|
EngineBlock.FCStd
|
|
PartDesignExample.FCStd
|
|
RobotExample.FCStd
|
|
ArchDetail.FCStd
|
|
FemCalculixCantilever2D.FCStd
|
|
FemCalculixCantilever3D.FCStd
|
|
)
|
|
|
|
ADD_CUSTOM_TARGET(Example_data ALL
|
|
SOURCES ${Examples_Files}
|
|
)
|
|
|
|
# 0001097: CMake stops with error "Circular ... <- ... dependency dropped."
|
|
if(NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
|
fc_copy_sources(Example_data "${CMAKE_BINARY_DIR}/data/examples" ${Examples_Files})
|
|
endif()
|
|
|
|
if (WIN32 AND FREECAD_LIBPACK_USE)
|
|
# pivy
|
|
foreach (it ${FREECAD_LIBPACK_PIVY_COIN})
|
|
get_filename_component(libfile ${it} NAME)
|
|
set(out "${CMAKE_BINARY_DIR}/lib/pivy/${libfile}")
|
|
add_custom_command(
|
|
DEPENDS ${it}
|
|
OUTPUT ${out}
|
|
COMMAND ${CMAKE_COMMAND}
|
|
ARGS -E copy_if_different ${it} ${out}
|
|
MAIN_DEPENDENCY ${it}
|
|
COMMENT "Copy file to ${out}"
|
|
)
|
|
endforeach (it)
|
|
SOURCE_GROUP("pivy" FILES ${FREECAD_LIBPACK_PIVY_COIN})
|
|
|
|
# shiboken
|
|
foreach (it ${FREECAD_LIBPACK_SHIBOKEN})
|
|
get_filename_component(libfile ${it} NAME)
|
|
set(out "${CMAKE_BINARY_DIR}/lib/${libfile}")
|
|
add_custom_command(
|
|
DEPENDS ${it}
|
|
OUTPUT ${out}
|
|
COMMAND ${CMAKE_COMMAND}
|
|
ARGS -E copy_if_different ${it} ${out}
|
|
MAIN_DEPENDENCY ${it}
|
|
COMMENT "Copy file to ${out}"
|
|
)
|
|
endforeach (it)
|
|
SOURCE_GROUP("Shiboken" FILES ${FREECAD_LIBPACK_SHIBOKEN})
|
|
|
|
# PySide
|
|
foreach (it ${FREECAD_LIBPACK_PYSIDE})
|
|
get_filename_component(libfile ${it} NAME)
|
|
set(out "${CMAKE_BINARY_DIR}/lib/PySide/${libfile}")
|
|
add_custom_command(
|
|
DEPENDS ${it}
|
|
OUTPUT ${out}
|
|
COMMAND ${CMAKE_COMMAND}
|
|
ARGS -E copy_if_different ${it} ${out}
|
|
MAIN_DEPENDENCY ${it}
|
|
COMMENT "Copy file to ${out}"
|
|
)
|
|
endforeach (it)
|
|
SOURCE_GROUP("PySide" FILES ${FREECAD_LIBPACK_PYSIDE})
|
|
|
|
# PySide tools
|
|
foreach (it ${FREECAD_LIBPACK_PYSIDEUIC})
|
|
get_filename_component(libpath ${it} PATH)
|
|
set(src "${FREECAD_LIBPACK_PYSIDEUIC_REL}/${it}")
|
|
if("${libpath}" STREQUAL "pysideuic")
|
|
set(FREECAD_LIBPACK_PYSIDEUIC_TOP ${FREECAD_LIBPACK_PYSIDEUIC_TOP} ${src})
|
|
elseif("${libpath}" STREQUAL "pysideuic/Compiler")
|
|
set(FREECAD_LIBPACK_PYSIDEUIC_CMP ${FREECAD_LIBPACK_PYSIDEUIC_CMP} ${src})
|
|
elseif("${libpath}" STREQUAL "pysideuic/port_v2")
|
|
set(FREECAD_LIBPACK_PYSIDEUIC_PV2 ${FREECAD_LIBPACK_PYSIDEUIC_PV2} ${src})
|
|
elseif("${libpath}" STREQUAL "pysideuic/port_v3")
|
|
set(FREECAD_LIBPACK_PYSIDEUIC_PV3 ${FREECAD_LIBPACK_PYSIDEUIC_PV3} ${src})
|
|
elseif("${libpath}" STREQUAL "pysideuic/widget-plugins")
|
|
set(FREECAD_LIBPACK_PYSIDEUIC_WPL ${FREECAD_LIBPACK_PYSIDEUIC_WPL} ${src})
|
|
else()
|
|
set(FREECAD_LIBPACK_PYSIDEUIC_OTH ${FREECAD_LIBPACK_PYSIDEUIC_OTH} ${src})
|
|
endif()
|
|
set(FREECAD_LIBPACK_PYSIDEUIC_ABS ${FREECAD_LIBPACK_PYSIDEUIC_ABS} ${src})
|
|
set(out "${CMAKE_BINARY_DIR}/lib/${it}")
|
|
add_custom_command(
|
|
DEPENDS ${src}
|
|
OUTPUT ${out}
|
|
COMMAND ${CMAKE_COMMAND}
|
|
ARGS -E copy_if_different ${src} ${out}
|
|
MAIN_DEPENDENCY ${src}
|
|
COMMENT "Copy file to ${out}"
|
|
)
|
|
endforeach (it)
|
|
SOURCE_GROUP("PySide tools" FILES ${FREECAD_LIBPACK_PYSIDEUIC_OTH})
|
|
SOURCE_GROUP("PySide tools\\pysideuic" FILES ${FREECAD_LIBPACK_PYSIDEUIC_TOP})
|
|
SOURCE_GROUP("PySide tools\\pysideuic\\Compiler" FILES ${FREECAD_LIBPACK_PYSIDEUIC_CMP})
|
|
SOURCE_GROUP("PySide tools\\pysideuic\\port_v2" FILES ${FREECAD_LIBPACK_PYSIDEUIC_PV2})
|
|
SOURCE_GROUP("PySide tools\\pysideuic\\port_v3" FILES ${FREECAD_LIBPACK_PYSIDEUIC_PV3})
|
|
SOURCE_GROUP("PySide tools\\pysideuic\\widget-plugins" FILES ${FREECAD_LIBPACK_PYSIDEUIC_WPL})
|
|
|
|
# Python extension modules
|
|
foreach (it ${FREECAD_LIBPACK_PYTHON})
|
|
get_filename_component(libfile ${it} NAME)
|
|
set(out "${CMAKE_BINARY_DIR}/lib/${libfile}")
|
|
add_custom_command(
|
|
DEPENDS ${it}
|
|
OUTPUT ${out}
|
|
COMMAND ${CMAKE_COMMAND}
|
|
ARGS -E copy_if_different ${it} ${out}
|
|
MAIN_DEPENDENCY ${it}
|
|
COMMENT "Copy file to ${out}"
|
|
)
|
|
endforeach (it)
|
|
SOURCE_GROUP("Python" FILES ${FREECAD_LIBPACK_PYTHON})
|
|
|
|
set(FREECAD_LIBPACK_FILES
|
|
${FREECAD_LIBPACK_PIVY_COIN}
|
|
${FREECAD_LIBPACK_SHIBOKEN}
|
|
${FREECAD_LIBPACK_PYSIDE}
|
|
${FREECAD_LIBPACK_PYSIDEUIC_ABS}
|
|
${FREECAD_LIBPACK_PYTHON}
|
|
)
|
|
add_custom_target(LibPack_Files ALL SOURCES ${FREECAD_LIBPACK_FILES})
|
|
|
|
endif(WIN32 AND FREECAD_LIBPACK_USE)
|
|
|
|
INSTALL(
|
|
FILES
|
|
${Examples_Files}
|
|
DESTINATION
|
|
${CMAKE_INSTALL_DATADIR}/examples
|
|
)
|
|
|