cmake_minimum_required(VERSION 2.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() set(BBENC_INCLUDE_FILES parser_global.h Parser.h ShotList/ShotList.h MatLab/MatlabCreator.h MatLab/MatlabOpener.h Data/Arraypointer.h Data/CEData.h Data/ConfigHeader.h Data/MetaData.h Data/MovementData.h Data/PatientData.h Data/TemperatureData.h Data/AScanData.h Data/ElectricIndex.h Data/ElementIndex.h Data/GeometryIndex.h Data/Hardwareinfomation.h Data/OneTasAScanData.h Data/TasElementIndex.h Data/TasIndex.h Data/CEMeasuredData.h) set(INCLUDE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/Parser/") foreach(file ${BBENC_INCLUDE_FILES}) execute_process( COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/src/${file}" ${INCLUDE_OUTPUT_PATH}${file}) endforeach( file )