Files
create/src/Mod/Raytracing/App/CMakeLists.txt
2011-10-10 13:44:52 +00:00

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)