Files
Parser/CMakeLists.txt
2025-03-21 13:52:41 +08:00

39 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.8)
set(PROJECT_NAME Parser)
project(${PROJECT_NAME})
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
file(GLOB_RECURSE project_headers ./src/*.h)
file(GLOB_RECURSE project_cpps ./src/*.cpp)
include_directories(./src)
include_directories(./thirdParty/include)
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/lib)
source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_headers})
source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_cpps})
add_library(${PROJECT_NAME} SHARED ${project_headers} ${project_cpps})
target_compile_definitions(${PROJECT_NAME} PRIVATE PARSER_LIBRARY=)
if(UNIX)
find_package(OpenSSL REQUIRED)
target_link_libraries(${PROJECT_NAME} matio sqlite3 ${OPENSSL_LIBRARIES})
elseif(MSVC)
target_link_libraries(${PROJECT_NAME} libmatio sqlite3)
elseif(MINGW)
target_link_libraries(${PROJECT_NAME} matio sqlite3)
endif()
install(FILES src/parser_global.h DESTINATION include/Parser)
install(FILES src/Parser.h DESTINATION include/Parser)
install(DIRECTORY src/ShotList/ DESTINATION include/Parser/ShotList FILES_MATCHING PATTERN "ShotList.h")
install(DIRECTORY src/MatLab/ DESTINATION include/Parser/MatLab FILES_MATCHING PATTERN "*.h")
install(DIRECTORY src/Data/ DESTINATION include/Parser/Data FILES_MATCHING PATTERN "*.h")
install(FILES cmake/ParserConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake)
install(FILES thirdParty/lib/libmatio.so DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ RENAME libmatio.so.11)
install(FILES thirdParty/lib/libsqlite3.so DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ RENAME libsqlite3.so.0)
install(TARGETS Parser RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})