Refactor CMake configuration: separate RPT core library into its own CMakeLists.txt and streamline SWIG integration
This commit is contained in:
@ -7,19 +7,11 @@ find_package(Python3 REQUIRED COMPONENTS Development)
|
||||
# Include SWIG macros
|
||||
include(UseSWIG)
|
||||
|
||||
# Compiler flags (matching original Makefile)
|
||||
set(RPT_COMPILE_FLAGS -fPIC -O3 -march=native -Wall -flto=auto)
|
||||
# Compiler flags for SWIG wrapper
|
||||
set(RPT_COMPILE_FLAGS -fPIC -march=native -Wall)
|
||||
|
||||
# Create static library from rpt sources
|
||||
set(RPT_SOURCES
|
||||
${CMAKE_SOURCE_DIR}/rpt/camera.cpp
|
||||
${CMAKE_SOURCE_DIR}/rpt/interface.cpp
|
||||
${CMAKE_SOURCE_DIR}/rpt/triangulator.cpp
|
||||
)
|
||||
|
||||
add_library(rpt_core STATIC ${RPT_SOURCES})
|
||||
target_include_directories(rpt_core PUBLIC ${CMAKE_SOURCE_DIR}/rpt)
|
||||
target_compile_options(rpt_core PRIVATE ${RPT_COMPILE_FLAGS})
|
||||
# Release mode optimizations
|
||||
list(APPEND RPT_COMPILE_FLAGS $<$<CONFIG:Release>:-O3;-flto=auto>)
|
||||
|
||||
# SWIG interface
|
||||
set_property(SOURCE rpt.i PROPERTY CPLUSPLUS ON)
|
||||
@ -47,6 +39,5 @@ set_target_properties(rpt PROPERTIES
|
||||
|
||||
# Ensure SWIG can find headers
|
||||
target_include_directories(rpt PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/rpt
|
||||
${Python3_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user