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) target_link_libraries(${PROJECT_NAME} matio sqlite3) 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 "*r.h") install(DIRECTORY src/Data/ DESTINATION include/Parser/Data FILES_MATCHING PATTERN "*.h") install(FILES cmake/ParserConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}) 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})