git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5298 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
202 lines
7.2 KiB
CMake
202 lines
7.2 KiB
CMake
#add_defintions(-D_FC_GUI_ENABLED_)
|
|
#add_defintions(-DFREECADMAINPY)
|
|
|
|
if(FREECAD_BUILD_GUI)
|
|
include_directories(
|
|
${Boost_INCLUDE_DIRS}
|
|
${COIN3D_INCLUDE_DIR}
|
|
${ZLIB_INCLUDE_DIR}
|
|
${SOQT_INCLUDE_DIR}
|
|
${QT_INCLUDE_DIR}
|
|
${PYTHON_INCLUDE_PATH}
|
|
${XERCESC_INCLUDE_DIR}
|
|
)
|
|
else(FREECAD_BUILD_GUI)
|
|
include_directories(
|
|
${Boost_INCLUDE_DIRS}
|
|
${ZLIB_INCLUDE_DIR}
|
|
${QT_INCLUDE_DIR}
|
|
${PYTHON_INCLUDE_PATH}
|
|
${XERCESC_INCLUDE_DIR}
|
|
)
|
|
endif(FREECAD_BUILD_GUI)
|
|
|
|
######################## FreeCADMain ########################
|
|
if(FREECAD_BUILD_GUI)
|
|
|
|
SET(FreeCAD_SRCS
|
|
freecad.rc
|
|
icon.ico
|
|
MainGui.cpp
|
|
)
|
|
|
|
if(MSVC)
|
|
SET(FreeCAD_LIBS
|
|
FreeCADGui
|
|
debug qtmaind.lib
|
|
optimized qtmain.lib
|
|
)
|
|
else(MSVC)
|
|
SET(FreeCAD_LIBS
|
|
FreeCADGui
|
|
)
|
|
endif(MSVC)
|
|
|
|
add_executable(FreeCADMain WIN32 ${FreeCAD_SRCS})
|
|
target_link_libraries(FreeCADMain ${FreeCAD_LIBS})
|
|
|
|
# Note this is IDE specific, not necessarily platform specific
|
|
if(MSVC)
|
|
set_target_properties(FreeCADMain PROPERTIES OUTPUT_NAME "FreeCAD")
|
|
set_target_properties(FreeCADMain PROPERTIES DEBUG_OUTPUT_NAME "FreeCADD")
|
|
# dirty hack to avoid Debug/Release subdirectory
|
|
set_target_properties(FreeCADMain PROPERTIES PREFIX "../")
|
|
set_target_properties(FreeCADMain PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
elseif(MINGW)
|
|
set_target_properties(FreeCADMain PROPERTIES OUTPUT_NAME "FreeCAD")
|
|
set_target_properties(FreeCADMain PROPERTIES DEBUG_OUTPUT_NAME "FreeCADD")
|
|
set_target_properties(FreeCADMain PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
else(MSVC)
|
|
set_target_properties(FreeCADMain PROPERTIES OUTPUT_NAME "FreeCAD")
|
|
set_target_properties(FreeCADMain PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
set_target_properties(FreeCADMain PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
|
|
endif(MSVC)
|
|
|
|
if(WIN32)
|
|
INSTALL(TARGETS FreeCADMain
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
else(WIN32)
|
|
INSTALL(TARGETS FreeCADMain
|
|
RUNTIME DESTINATION bin
|
|
)
|
|
endif(WIN32)
|
|
endif(FREECAD_BUILD_GUI)
|
|
######################## FreeCADMainCmd ########################
|
|
|
|
SET(FreeCADMainCmd_SRCS
|
|
MainCmd.cpp
|
|
)
|
|
add_executable(FreeCADMainCmd ${FreeCADMainCmd_SRCS})
|
|
|
|
target_link_libraries(FreeCADMainCmd
|
|
FreeCADApp
|
|
${QT_DEBUG_LIBRARIES}
|
|
${QT_LIBRARIES}
|
|
)
|
|
|
|
# Note this is IDE specific, not necessarily platform specific
|
|
if(MSVC)
|
|
set_target_properties(FreeCADMainCmd PROPERTIES OUTPUT_NAME "FreeCADCmd")
|
|
set_target_properties(FreeCADMainCmd PROPERTIES DEBUG_OUTPUT_NAME "FreeCADCmdD")
|
|
# dirty hack to avoid Debug/Release subdirectory
|
|
set_target_properties(FreeCADMainCmd PROPERTIES PREFIX "../")
|
|
set_target_properties(FreeCADMainCmd PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
elseif(MINGW)
|
|
set_target_properties(FreeCADMainCmd PROPERTIES OUTPUT_NAME "FreeCADCmd")
|
|
set_target_properties(FreeCADMainCmd PROPERTIES DEBUG_OUTPUT_NAME "FreeCADCmdD")
|
|
set_target_properties(FreeCADMainCmd PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
else(MSVC)
|
|
set_target_properties(FreeCADMainCmd PROPERTIES OUTPUT_NAME "FreeCADCmd")
|
|
set_target_properties(FreeCADMainCmd PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
set_target_properties(FreeCADMainCmd PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
|
|
endif(MSVC)
|
|
|
|
if(WIN32)
|
|
INSTALL(TARGETS FreeCADMainCmd
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
else(WIN32)
|
|
INSTALL(TARGETS FreeCADMainCmd
|
|
RUNTIME DESTINATION bin
|
|
)
|
|
endif(WIN32)
|
|
|
|
######################## FreeCADMainPy ########################
|
|
|
|
SET(FreeCADMainPy_SRCS
|
|
MainPy.cpp
|
|
)
|
|
|
|
add_library(FreeCADMainPy SHARED ${FreeCADMainPy_SRCS})
|
|
|
|
target_link_libraries(FreeCADMainPy FreeCADApp)
|
|
|
|
# Note this is IDE specific, not necessarily platform specific
|
|
if(MSVC)
|
|
set_target_properties(FreeCADMainPy PROPERTIES OUTPUT_NAME "FreeCAD")
|
|
set_target_properties(FreeCADMainPy PROPERTIES DEBUG_OUTPUT_NAME "FreeCAD_d")
|
|
set_target_properties(FreeCADMainPy PROPERTIES SUFFIX ".pyd")
|
|
# dirty hack to avoid Debug/Release subdirectory
|
|
set_target_properties(FreeCADMainPy PROPERTIES PREFIX "../")
|
|
set_target_properties(FreeCADMainPy PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
elseif(MINGW)
|
|
set_target_properties(FreeCADMainPy PROPERTIES OUTPUT_NAME "FreeCAD")
|
|
set_target_properties(FreeCADMainPy PROPERTIES DEBUG_OUTPUT_NAME "FreeCAD_d")
|
|
set_target_properties(FreeCADMainPy PROPERTIES SUFFIX ".pyd")
|
|
set_target_properties(FreeCADMainPy PROPERTIES PREFIX "")
|
|
set_target_properties(FreeCADMainPy PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
else(MSVC)
|
|
set_target_properties(FreeCADMainPy PROPERTIES OUTPUT_NAME "FreeCAD")
|
|
set_target_properties(FreeCADMainPy PROPERTIES PREFIX "")
|
|
set_target_properties(FreeCADMainPy PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
set_target_properties(FreeCADMainPy PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
|
|
endif(MSVC)
|
|
|
|
if(WIN32)
|
|
INSTALL(TARGETS FreeCADMainPy
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
else(WIN32)
|
|
INSTALL(TARGETS FreeCADMainPy
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
endif(WIN32)
|
|
|
|
######################## FreeCADGuiPy ########################
|
|
if(FREECAD_BUILD_GUI)
|
|
|
|
SET(FreeCADGuiPy_SRCS
|
|
FreeCADGuiPy.cpp
|
|
)
|
|
|
|
add_library(FreeCADGuiPy SHARED ${FreeCADGuiPy_SRCS})
|
|
|
|
target_link_libraries(FreeCADGuiPy FreeCADGui)
|
|
|
|
# Note this is IDE specific, not necessarily platform specific
|
|
if(MSVC)
|
|
set_target_properties(FreeCADGuiPy PROPERTIES OUTPUT_NAME "FreeCADGui")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES DEBUG_OUTPUT_NAME "FreeCADGui_d")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES SUFFIX ".pyd")
|
|
# dirty hack to avoid Debug/Release subdirectory
|
|
set_target_properties(FreeCADGuiPy PROPERTIES PREFIX "../")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
elseif(MINGW)
|
|
set_target_properties(FreeCADGuiPy PROPERTIES OUTPUT_NAME "FreeCADGui")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES DEBUG_OUTPUT_NAME "FreeCADGui_d")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES SUFFIX ".pyd")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES PREFIX "")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
else(MSVC)
|
|
set_target_properties(FreeCADGuiPy PROPERTIES OUTPUT_NAME "FreeCADGui")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES PREFIX "")
|
|
set_target_properties(FreeCADGuiPy PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
set_target_properties(FreeCADGuiPy PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
|
|
endif(MSVC)
|
|
|
|
if(WIN32)
|
|
INSTALL(TARGETS FreeCADGuiPy
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
else(WIN32)
|
|
INSTALL(TARGETS FreeCADGuiPy
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
endif(WIN32)
|
|
endif(FREECAD_BUILD_GUI)
|