gctl_toolkits/CMakeLists.txt

70 lines
2.3 KiB
CMake
Raw Permalink Normal View History

2024-09-10 20:25:18 +08:00
cmake_minimum_required(VERSION 3.15.2)
project(GCTL_TOOLKITS VERSION 1.0)
2025-02-11 10:43:28 +08:00
find_package(GCTL REQUIRED)
find_package(GCTL_MESH REQUIRED)
find_package(GCTL_OPTIMIZATION REQUIRED)
find_package(GCTL_POTENTIAL REQUIRED)
include_directories(${GCTL_INC_DIR})
include_directories(${GCTL_MESH_INC_DIR})
include_directories(${GCTL_OPTIMIZATION_INC_DIR})
include_directories(${GCTL_POTENTIAL_INC_DIR})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/${BIN_DIR})
message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME})
message(STATUS "Install prefix: " ${CMAKE_INSTALL_PREFIX})
message(STATUS "Processor: " ${CMAKE_HOST_SYSTEM_PROCESSOR})
macro(add_toolkit name lib1 lib2 lib3 lib4)
aux_source_directory(${name} ${name}_src)
add_executable(${name} ${${name}_src})
set_target_properties(${name} PROPERTIES INSTALL_RPATH /usr/local/lib)
set_target_properties(${name} PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON)
if(${lib1})
target_link_libraries(${name} PUBLIC ${GCTL_LIB})
endif()
if(${lib2})
target_link_libraries(${name} PUBLIC ${GCTL_MESH_LIB})
endif()
if(${lib3})
target_link_libraries(${name} PUBLIC ${GCTL_OPTIMIZATION_LIB})
endif()
if(${lib4})
target_link_libraries(${name} PUBLIC ${GCTL_POTENTIAL_LIB})
endif()
install(TARGETS ${name} RUNTIME DESTINATION sbin)
endmacro()
add_toolkit(2minfo ON ON OFF OFF)
add_toolkit(addnoise ON OFF OFF OFF)
add_toolkit(cutprofile ON OFF OFF OFF)
add_toolkit(fractopo ON OFF OFF OFF)
add_toolkit(gm3d ON OFF OFF OFF)
add_toolkit(gmsh2vtk ON OFF OFF OFF)
add_toolkit(gmshinfo ON OFF OFF OFF)
add_toolkit(grd2xyz ON OFF OFF OFF)
add_toolkit(handyman ON OFF OFF OFF)
add_toolkit(lbsi ON OFF ON OFF)
add_toolkit(lki ON OFF ON OFF)
add_toolkit(nc2other ON OFF OFF OFF)
add_toolkit(ncget ON OFF OFF OFF)
add_toolkit(ncinfo ON OFF OFF OFF)
add_toolkit(shc2xyz ON OFF OFF OFF)
add_toolkit(slbsi ON OFF ON OFF)
add_toolkit(sph2plane ON OFF OFF OFF)
add_toolkit(tetgen2gmsh ON OFF OFF OFF)
add_toolkit(tetgm ON OFF ON ON)
add_toolkit(trackline ON OFF OFF OFF)
add_toolkit(triangle2gmsh ON OFF OFF OFF)
add_toolkit(txtinfo ON OFF OFF OFF)
add_toolkit(xyz2nc ON OFF OFF OFF)
add_toolkit(xyz2sph ON OFF OFF OFF)