44 lines
937 B
CMake
44 lines
937 B
CMake
cmake_minimum_required (VERSION 2.6)
|
|
|
|
set(PACKAGE_NAME "sourcetraildb")
|
|
|
|
# --- Setup Paths ---
|
|
|
|
set(RESOURCES_SWIG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../resources_swig")
|
|
set(GENERATED_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/src")
|
|
|
|
set(SWIG_INTERFACE_FILE "${RESOURCES_SWIG_DIR}/interface/${PACKAGE_NAME}.i")
|
|
|
|
|
|
# --- Find Python ---
|
|
|
|
find_package(PythonLibs)
|
|
|
|
|
|
# --- Find Swig ---
|
|
|
|
find_package(SWIG REQUIRED)
|
|
include(${SWIG_USE_FILE})
|
|
|
|
|
|
# --- Configure Target ---
|
|
|
|
set_source_files_properties(${SWIG_INTERFACE_FILE} PROPERTIES CPLUSPLUS ON)
|
|
|
|
include_directories(
|
|
"${RESOURCES_SWIG_DIR}/include"
|
|
"${CORE_SOURCE_DIR}/include"
|
|
${PYTHON_INCLUDE_DIRS}
|
|
)
|
|
|
|
swig_add_library(
|
|
${PACKAGE_NAME}
|
|
TYPE SHARED
|
|
LANGUAGE python
|
|
OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}
|
|
OUTFILE_DIR ${GENERATED_SRC_DIR}
|
|
SOURCES ${SWIG_INTERFACE_FILE} ${RESOURCES_SWIG_DIR}/src/${PACKAGE_NAME}.cpp
|
|
)
|
|
|
|
swig_link_libraries(${PACKAGE_NAME} ${PYTHON_LIBRARIES} ${LIB_CORE})
|