improved build instructions

This commit is contained in:
Martin Brodbeck 2019-10-11 10:01:21 +02:00
parent f37cd75502
commit b9d4375f5a
5 changed files with 18 additions and 14 deletions

View file

@ -6,19 +6,19 @@ configure_file(output : 'config.h',
configuration : conf_data) configuration : conf_data)
configuration_inc = include_directories('.') configuration_inc = include_directories('.')
cmake = import('cmake')
#csv = cmake.subproject('csv-parser') #csv = cmake.subproject('csv-parser')
#csv_lib = csv.dependency('csv') #csv_lib = csv.dependency('csv')
nlohmann_lib = dependency('nlohmann_json', version : '>=3.5.0', required : false) nlohmann_lib = dependency('nlohmann_json', version : '>=3.55.0', required : false)
if not nlohmann_lib.found() if not nlohmann_lib.found()
nlohmann = cmake.subproject('nlohmann_json', nlohmann_inc = include_directories('subprojects/nlohmann_json/single_include/nlohmann')
cmake_options : ['-DJSON_BuildTests=OFF', '-DCMAKE_BUILD_TYPE=Release']) nlohmann_lib = declare_dependency(include_directories : nlohmann_inc)
nlohmann_lib = nlohmann.dependency('nlohmann_json')
endif endif
csv_inc = include_directories('subprojects/csv-parser/single_include')
csv_dep = declare_dependency(include_directories : csv_inc)
singleapp_proj = subproject('singleapplication') singleapp_proj = subproject('singleapplication')
singleapp_lib = singleapp_proj.get_variable('singleapp_lib') singleapp_lib = singleapp_proj.get_variable('singleapp_lib')
singleapp_dep = singleapp_proj.get_variable('singleapp_dep') singleapp_dep = singleapp_proj.get_variable('singleapp_dep')

View file

@ -3,6 +3,11 @@ set(Boost_USE_STATIC_LIBS ON)
find_package(Boost 1.62 COMPONENTS date_time REQUIRED) find_package(Boost 1.62 COMPONENTS date_time REQUIRED)
find_package(SQLite3 REQUIRED) find_package(SQLite3 REQUIRED)
# Because csv-parser needs threads:
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
if (MINGW) if (MINGW)
find_package(XLNT REQUIRED STATIC) find_package(XLNT REQUIRED STATIC)
else (MINGW) else (MINGW)
@ -27,13 +32,12 @@ set(CORE_SOURCES
add_library(core STATIC ${CORE_SOURCES}) add_library(core STATIC ${CORE_SOURCES})
target_include_directories(core PRIVATE ${PROJECT_SOURCE_DIR}/3rdparty/csv-parser/include) target_include_directories(core PRIVATE ${PROJECT_SOURCE_DIR}/subprojects/csv-parser/single_include)
if (WIN32) if (WIN32)
target_link_libraries(core PRIVATE Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARY} csv) target_link_libraries(core PRIVATE Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARY} Threads::Threads)
target_link_libraries(core PRIVATE bcrypt) target_link_libraries(core PRIVATE bcrypt)
else() else()
target_link_libraries(core PRIVATE Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARIES} csv) target_link_libraries(core PRIVATE Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARIES} Threads::Threads)
endif() endif()
#target_include_directories(core PRIVATE ${PROJECT_SOURCE_DIR}/3rdparty/csv-parser)
target_include_directories(core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..) target_include_directories(core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)

View file

@ -2,8 +2,8 @@
#include "utils.h" #include "utils.h"
#include <fstream> #include <fstream>
#include "../../subprojects/csv-parser/single_include/csv.hpp"
//#include <csv.hpp> #include <csv.hpp>
namespace fs = std::filesystem; namespace fs = std::filesystem;

View file

@ -8,6 +8,6 @@ src = ['database.cpp', 'entity.cpp', 'entityint.cpp', 'entityuuid.cpp',
core_inc = include_directories('..') core_inc = include_directories('..')
core_lib = static_library('core', src, dependencies :[boost, xlnt, sqlite, nlohmann_lib]) core_lib = static_library('core', src, dependencies :[boost, xlnt, sqlite, nlohmann_lib, csv_dep])
core_dep = declare_dependency(link_with : core_lib, include_directories : core_inc) core_dep = declare_dependency(link_with : core_lib, include_directories : core_inc)

View file

@ -2,4 +2,4 @@ if(NOT KIMA2_USE_EXTERNAL_JSON)
set(JSON_BuildTests OFF CACHE INTERNAL "") set(JSON_BuildTests OFF CACHE INTERNAL "")
add_subdirectory(nlohmann_json EXCLUDE_FROM_ALL) add_subdirectory(nlohmann_json EXCLUDE_FROM_ALL)
endif() endif()
add_subdirectory(csv-parser) #add_subdirectory(csv-parser)