mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-26 22:00:33 +05:00
77 lines
2.9 KiB
CMake
77 lines
2.9 KiB
CMake
if(USE_INTERNAL_TCL)
|
|
add_definitions(-DINTERNAL_TCL_DEFAULT=1)
|
|
else()
|
|
add_definitions(-DINTERNAL_TCL_DEFAULT=0)
|
|
endif()
|
|
|
|
if(WIN32)
|
|
# add icon and version info to netgen executable
|
|
enable_language(RC)
|
|
# Don't use ccache here due to incompatibility with the resource compiler
|
|
set_directory_properties(PROPERTIES RULE_LAUNCH_COMPILE "")
|
|
endif(WIN32)
|
|
|
|
target_sources(nglib PRIVATE onetcl.cpp)
|
|
|
|
if(USE_GUI)
|
|
target_sources(nggui PRIVATE
|
|
gui.cpp ngpkg.cpp demoview.cpp parallelfunc.cpp ngtcl.cpp
|
|
)
|
|
|
|
if(NOT BUILD_FOR_CONDA)
|
|
add_executable(netgen ngappinit.cpp)
|
|
if(WIN32)
|
|
target_sources(netgen PRIVATE ../windows/netgen.rc)
|
|
endif(WIN32)
|
|
target_link_libraries( netgen nglib nggui netgen_python netgen_gui)
|
|
install(TARGETS netgen ${NG_INSTALL_DIR})
|
|
if(APPLE)
|
|
set_target_properties(netgen PROPERTIES OUTPUT_NAME netgen)
|
|
endif(APPLE)
|
|
target_link_libraries( netgen ${Python3_LIBRARIES} ${TCL_LIBRARY} ${TK_LIBRARY})
|
|
endif(NOT BUILD_FOR_CONDA)
|
|
|
|
install(TARGETS nggui ${NG_INSTALL_DIR})
|
|
endif(USE_GUI)
|
|
|
|
if(USE_PYTHON)
|
|
add_library(ngpy SHARED netgenpy.cpp)
|
|
target_link_libraries( ngpy PUBLIC nglib PRIVATE "$<BUILD_INTERFACE:netgen_python>" )
|
|
target_link_libraries( ngpy PRIVATE ${CMAKE_THREAD_LIBS_INIT} ${JPEG_LIBRARIES} ${MKL_LIBRARIES} ${ZLIB_LIBRARIES} occ_libs netgen_cgns )
|
|
if(APPLE)
|
|
set_target_properties( ngpy PROPERTIES SUFFIX ".so")
|
|
elseif(WIN32)
|
|
set_target_properties( ngpy PROPERTIES SUFFIX ".pyd")
|
|
set_target_properties( ngpy PROPERTIES OUTPUT_NAME "libngpy")
|
|
endif()
|
|
set_target_properties(ngpy PROPERTIES INSTALL_RPATH "${NG_RPATH_TOKEN}/../${NETGEN_PYTHON_RPATH}")
|
|
install(TARGETS ngpy DESTINATION ${NG_INSTALL_DIR_PYTHON}/${NG_INSTALL_SUFFIX} COMPONENT netgen EXPORT netgen-targets)
|
|
|
|
if(USE_GUI)
|
|
add_library(ngguipy SHARED ngguipy.cpp)
|
|
target_link_libraries( ngguipy PUBLIC nglib nggui PRIVATE "$<BUILD_INTERFACE:netgen_python>" $<BUILD_INTERFACE:netgen_gui>)
|
|
if(APPLE)
|
|
set_target_properties( ngguipy PROPERTIES SUFFIX ".so")
|
|
elseif(WIN32)
|
|
set_target_properties( ngguipy PROPERTIES SUFFIX ".pyd")
|
|
set_target_properties( ngguipy PROPERTIES OUTPUT_NAME "libngguipy")
|
|
endif()
|
|
set_target_properties(ngguipy PROPERTIES INSTALL_RPATH "${NG_RPATH_TOKEN}/../${NETGEN_PYTHON_RPATH}")
|
|
install(TARGETS ngguipy DESTINATION ${NG_INSTALL_DIR_PYTHON}/${NG_INSTALL_SUFFIX} COMPONENT netgen EXPORT netgen-targets)
|
|
endif(USE_GUI)
|
|
endif(USE_PYTHON)
|
|
|
|
if(USE_GUI)
|
|
if(NOT USE_INTERNAL_TCL)
|
|
install(FILES
|
|
dialog.tcl menustat.tcl ngicon.tcl ng.tcl
|
|
ngvisual.tcl sockets.tcl nghelp.tcl ngshell.tcl
|
|
ngtesting.tcl parameters.tcl variables.tcl csgeom.tcl stlgeom.tcl
|
|
occgeom.tcl acisgeom.tcl netgen.ocf drawing.tcl
|
|
DESTINATION ${NG_INSTALL_DIR_BIN} COMPONENT netgen)
|
|
endif()
|
|
|
|
add_subdirectory(Togl2.1)
|
|
endif(USE_GUI)
|
|
|