Files
labview_call_cpp_demo/CMakeLists.txt
T
2026-07-09 11:31:19 +08:00

32 lines
1.1 KiB
CMake

cmake_minimum_required(VERSION 3.20)
project(lv_cpp_demo LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT WIN32)
message(FATAL_ERROR "This sample builds a Windows DLL for LabVIEW.")
endif()
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
message(WARNING "This is a 64-bit build. 32-bit LabVIEW needs a Win32 build.")
endif()
set(dir ${CMAKE_SOURCE_DIR}/src)
file(GLOB_RECURSE srcs "${dir}/*.cpp" "${dir}/*.c" "${dir}/*.h")
add_library(lv_cpp_demo SHARED ${srcs})
target_compile_definitions(lv_cpp_demo PRIVATE LV_CPP_DEMO_BUILD)
set_target_properties(lv_cpp_demo PROPERTIES OUTPUT_NAME lv_cpp_demo)
if(MSVC)
target_compile_options(lv_cpp_demo PUBLIC /utf-8)
set(dumpbin "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/dumpbin.exe")
add_custom_target(dump_exports
COMMAND "${dumpbin}" /exports "$<TARGET_FILE:lv_cpp_demo>"
DEPENDS lv_cpp_demo
USES_TERMINAL
)
add_dependencies(dump_exports lv_cpp_demo)
endif()
add_executable(lv_cpp_demo_test test/main.cpp)
target_link_libraries(lv_cpp_demo_test PRIVATE lv_cpp_demo)