git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
80 lines
2.5 KiB
CMake
80 lines
2.5 KiB
CMake
if(MSVC)
|
|
add_definitions(-DFCAppRaytracing -DHAVE_ACOSH -DHAVE_ASINH -DHAVE_ATANH)
|
|
else(MSVC)
|
|
add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H)
|
|
endif(MSVC)
|
|
|
|
include_directories(
|
|
${CMAKE_SOURCE_DIR}/src
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${Boost_INCLUDE_DIRS}
|
|
${OCC_INCLUDE_DIR}
|
|
${PYTHON_INCLUDE_PATH}
|
|
${XERCESC_INCLUDE_DIR}
|
|
${ZLIB_INCLUDE_DIR}
|
|
)
|
|
link_directories(${OCC_LIBRARY_DIR})
|
|
|
|
|
|
set(Raytracing_LIBS
|
|
Part
|
|
${OCC_LIBRARIES}
|
|
FreeCADApp
|
|
)
|
|
|
|
macro(generate_from_py2 BASE_NAME OUTPUT_FILE)
|
|
file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR}/src/Tools/PythonToCPP.py TOOL_PATH)
|
|
file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${BASE_NAME} SOURCE_PATH)
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}
|
|
COMMAND ${PYTHON_EXECUTABLE} ${TOOL_PATH} ${SOURCE_PATH} ${OUTPUT_FILE}
|
|
MAIN_DEPENDENCY ${BASE_NAME}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
COMMENT Building files out of ${BASE_NAME}.py)
|
|
endmacro(generate_from_py2)
|
|
|
|
generate_from_py2(FreeCADpov FreeCADpov.h)
|
|
|
|
SET(Raytracing_SRCS
|
|
AppRaytracing.cpp
|
|
AppRaytracingPy.cpp
|
|
FreeCADpov
|
|
PovTools.cpp
|
|
PovTools.h
|
|
PreCompiled.cpp
|
|
PreCompiled.h
|
|
RayFeature.cpp
|
|
RayFeature.h
|
|
RayProject.cpp
|
|
RayProject.h
|
|
RaySegment.cpp
|
|
RaySegment.h
|
|
)
|
|
|
|
SET(Raytracing_Templates
|
|
Templates/ProjectStd.pov
|
|
)
|
|
|
|
add_library(Raytracing SHARED ${Raytracing_SRCS})
|
|
target_link_libraries(Raytracing ${Raytracing_LIBS})
|
|
fc_copy_script("Mod/Raytracing" "Raytracing" Init.py)
|
|
fc_copy_script("Mod/Raytracing" "Raytracing" RaytracingExample.py)
|
|
fc_copy_script("Mod/Raytracing" "Raytracing" ${Raytracing_Templates})
|
|
|
|
if(MSVC)
|
|
set_target_properties(Raytracing PROPERTIES SUFFIX ".pyd")
|
|
set_target_properties(Raytracing PROPERTIES DEBUG_OUTPUT_NAME "Raytracing_d")
|
|
set_target_properties(Raytracing PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Raytracing)
|
|
set_target_properties(Raytracing PROPERTIES PREFIX "../")
|
|
elseif(MINGW)
|
|
set_target_properties(Raytracing PROPERTIES SUFFIX ".pyd")
|
|
set_target_properties(Raytracing PROPERTIES DEBUG_OUTPUT_NAME "Raytracing_d")
|
|
set_target_properties(Raytracing PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Raytracing)
|
|
set_target_properties(Raytracing PROPERTIES PREFIX "")
|
|
else(MSVC)
|
|
set_target_properties(Raytracing PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/Raytracing)
|
|
set_target_properties(Raytracing PROPERTIES PREFIX "")
|
|
endif(MSVC)
|
|
|
|
install(TARGETS Raytracing DESTINATION lib)
|