diff --git a/CMakeLists.txt b/CMakeLists.txt index b2d0d55..5958e51 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,44 +20,34 @@ find_package(Boost 1.53.0 REQUIRED COMPONENTS program_options) find_package(PostgreSQL REQUIRED) find_package(YamlCpp 0.5.1 REQUIRED) +add_library(${PROJECT_NAME} INTERFACE) + configure_file( "${PROJECT_SOURCE_DIR}/src/${PROJECT_NAME}Config.h.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.h" ) -add_executable(${PROJECT_NAME} - src/main.cpp - src/filesearcher.cpp - src/pathname.cpp - src/indexer.cpp - src/tiger.c - src/tiger.cpp - src/pq/connection.cpp - src/pq/databaseexception.cpp - src/pq/resultset.cpp - src/dbbackend.cpp - src/settings.cpp - src/commandline.cpp -) - target_include_directories(${PROJECT_NAME} SYSTEM INTERFACE ${Boost_INCLUDE_DIRS} - PRIVATE ${PostgreSQL_INCLUDE_DIRS} - PRIVATE ${YAMLCPP_INCLUDE_DIR} + INTERFACE ${PostgreSQL_INCLUDE_DIRS} + INTERFACE ${YAMLCPP_INCLUDE_DIR} ) target_include_directories(${PROJECT_NAME} - PRIVATE src - PRIVATE include - PRIVATE ${PROJECT_BINARY_DIR} + INTERFACE ${PROJECT_BINARY_DIR} + INTERFACE ${CMAKE_SOURCE_DIR}/include ) +add_subdirectory(src/update) +add_subdirectory(src/pq) + target_link_libraries(${PROJECT_NAME} - ${PostgreSQL_LIBRARIES} - ${YAMLCPP_LIBRARY} - ${Boost_LIBRARIES} + INTERFACE ${PostgreSQL_LIBRARIES} + INTERFACE ${YAMLCPP_LIBRARY} + INTERFACE ${Boost_LIBRARIES} + INTERFACE dindexer-pq ) target_compile_definitions(${PROJECT_NAME} - PUBLIC WITH_PROGRESS_FEEDBACK + INTERFACE WITH_PROGRESS_FEEDBACK ) diff --git a/src/pq/CMakeLists.txt b/src/pq/CMakeLists.txt new file mode 100644 index 0000000..4437a35 --- /dev/null +++ b/src/pq/CMakeLists.txt @@ -0,0 +1,11 @@ +project(dindexer-pq CXX) + +add_library(${PROJECT_NAME} STATIC + connection.cpp + databaseexception.cpp + resultset.cpp +) + +target_link_libraries(${PROJECT_NAME} + PRIVATE dindexer +) diff --git a/src/pq/connection.cpp b/src/pq/connection.cpp index 0f485a9..720f9d2 100644 --- a/src/pq/connection.cpp +++ b/src/pq/connection.cpp @@ -15,9 +15,9 @@ * along with "dindexer". If not, see . */ -#include "pq/connection.hpp" +#include "connection.hpp" #include "pq/databaseexception.hpp" -#include "pq/resultinfo.hpp" +#include "resultinfo.hpp" #include #include #include diff --git a/src/pq/resultset.cpp b/src/pq/resultset.cpp index 7f15710..44f238d 100644 --- a/src/pq/resultset.cpp +++ b/src/pq/resultset.cpp @@ -16,7 +16,7 @@ */ #include "pq/resultset.hpp" -#include "pq/resultinfo.hpp" +#include "resultinfo.hpp" #include "pq/databaseexception.hpp" #include #include diff --git a/src/update/CMakeLists.txt b/src/update/CMakeLists.txt new file mode 100644 index 0000000..d99370c --- /dev/null +++ b/src/update/CMakeLists.txt @@ -0,0 +1,22 @@ +project(dindexer-update CXX C) + +add_executable(${PROJECT_NAME} + main.cpp + filesearcher.cpp + pathname.cpp + indexer.cpp + tiger.c + tiger.cpp + dbbackend.cpp + settings.cpp + commandline.cpp +) + +target_include_directories(${PROJECT_NAME} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/.. + PUBLIC ${CMAKE_SOURCE_DIR}/include +) + +target_link_libraries(${PROJECT_NAME} + PRIVATE dindexer +) diff --git a/src/commandline.cpp b/src/update/commandline.cpp similarity index 100% rename from src/commandline.cpp rename to src/update/commandline.cpp diff --git a/src/commandline.hpp b/src/update/commandline.hpp similarity index 100% rename from src/commandline.hpp rename to src/update/commandline.hpp diff --git a/src/dbbackend.cpp b/src/update/dbbackend.cpp similarity index 100% rename from src/dbbackend.cpp rename to src/update/dbbackend.cpp diff --git a/src/dbbackend.hpp b/src/update/dbbackend.hpp similarity index 100% rename from src/dbbackend.hpp rename to src/update/dbbackend.hpp diff --git a/src/filesearcher.cpp b/src/update/filesearcher.cpp similarity index 100% rename from src/filesearcher.cpp rename to src/update/filesearcher.cpp diff --git a/src/filesearcher.hpp b/src/update/filesearcher.hpp similarity index 100% rename from src/filesearcher.hpp rename to src/update/filesearcher.hpp diff --git a/src/filestats.hpp b/src/update/filestats.hpp similarity index 100% rename from src/filestats.hpp rename to src/update/filestats.hpp diff --git a/src/indexer.cpp b/src/update/indexer.cpp similarity index 100% rename from src/indexer.cpp rename to src/update/indexer.cpp diff --git a/src/indexer.hpp b/src/update/indexer.hpp similarity index 100% rename from src/indexer.hpp rename to src/update/indexer.hpp diff --git a/src/main.cpp b/src/update/main.cpp similarity index 100% rename from src/main.cpp rename to src/update/main.cpp diff --git a/src/pathname.cpp b/src/update/pathname.cpp similarity index 100% rename from src/pathname.cpp rename to src/update/pathname.cpp diff --git a/src/pathname.hpp b/src/update/pathname.hpp similarity index 100% rename from src/pathname.hpp rename to src/update/pathname.hpp diff --git a/src/settings.cpp b/src/update/settings.cpp similarity index 100% rename from src/settings.cpp rename to src/update/settings.cpp diff --git a/src/settings.hpp b/src/update/settings.hpp similarity index 100% rename from src/settings.hpp rename to src/update/settings.hpp diff --git a/src/stringpool.hpp b/src/update/stringpool.hpp similarity index 100% rename from src/stringpool.hpp rename to src/update/stringpool.hpp diff --git a/src/stringpool.inl b/src/update/stringpool.inl similarity index 100% rename from src/stringpool.inl rename to src/update/stringpool.inl diff --git a/src/tiger.c b/src/update/tiger.c similarity index 100% rename from src/tiger.c rename to src/update/tiger.c diff --git a/src/tiger.cpp b/src/update/tiger.cpp similarity index 100% rename from src/tiger.cpp rename to src/update/tiger.cpp diff --git a/src/tiger.h b/src/update/tiger.h similarity index 100% rename from src/tiger.h rename to src/update/tiger.h diff --git a/src/tiger.hpp b/src/update/tiger.hpp similarity index 100% rename from src/tiger.hpp rename to src/update/tiger.hpp