CMakeLists.txt (1012B)
1 set(CMAKE_CXX_STANDARD 20) 2 set(CMAKE_CXX_STANDARD_REQUIRED ON) 3 set(PYBIND11_NEWPYTHON ON) 4 5 project(hermespy-rt) 6 7 find_package(Python REQUIRED COMPONENTS Interpreter Development.Module) 8 find_package(pybind11 CONFIG REQUIRED) 9 10 # Configure the C library 11 add_library(hermespy-rt-static STATIC ${CMAKE_CURRENT_SOURCE_DIR}/src/scompute_paths.c ${CMAKE_CURRENT_SOURCE_DIR}/src/materials.c ${CMAKE_CURRENT_SOURCE_DIR}/src/materials.c ${CMAKE_CURRENT_SOURCE_DIR}/src/scene.c) 12 target_include_directories(hermespy-rt-static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/inc) 13 set_target_properties(hermespy-rt-static PROPERTIES LINKER_LANGUAGE C) 14 15 # Configure the C++ binding module 16 pybind11_add_module(hermespy-rt-binding MODULE compute_paths_pybind11.cpp) 17 set_target_properties(hermespy-rt-binding PROPERTIES OUTPUT_NAME "hermespy-rt" LINKER_LANGUAGE CXX) 18 target_link_libraries(hermespy-rt-binding PRIVATE hermespy-rt-static pybind11::headers) 19 target_include_directories(hermespy-rt-binding PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/inc)