41 lines
1.0 KiB
CMake
41 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 4.0)
|
|
project(native_invoker_lib VERSION 1.0.0 LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
file(GLOB_RECURSE NATIVE_INVOKER_SOURCES
|
|
src/*.cpp
|
|
)
|
|
|
|
add_library(native_invoker_lib SHARED ${NATIVE_INVOKER_SOURCES})
|
|
target_include_directories(native_invoker_lib
|
|
PUBLIC
|
|
include
|
|
PRIVATE
|
|
src
|
|
)
|
|
|
|
set(BLACKBASE_BUILD_TESTS OFF CACHE BOOL "Disable building tests for blackbase")
|
|
add_subdirectory(vendor/blackbase)
|
|
|
|
target_link_libraries(native_invoker_lib PUBLIC blackbase)
|
|
|
|
file(GLOB NATIVE_INVOKER_EXAMPLES
|
|
examples/*.cpp
|
|
)
|
|
|
|
foreach(EXAMPLE_SOURCE ${NATIVE_INVOKER_EXAMPLES})
|
|
get_filename_component(EXAMPLE_NAME ${EXAMPLE_SOURCE} NAME_WE)
|
|
add_library(${EXAMPLE_NAME} SHARED ${EXAMPLE_SOURCE})
|
|
target_include_directories(${EXAMPLE_NAME}
|
|
PUBLIC
|
|
include
|
|
)
|
|
|
|
target_compile_definitions(${EXAMPLE_NAME}
|
|
PRIVATE
|
|
FXN_IMPORTS
|
|
)
|
|
endforeach() |