diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b72958c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "CMake"] + path = CMake + url = https://gitea.beniquez.me/sdaveb/CMakeTools.git diff --git a/CMake b/CMake new file mode 160000 index 0000000..36b2066 --- /dev/null +++ b/CMake @@ -0,0 +1 @@ +Subproject commit 36b2066dd89c7c42da064d6ede7bcba12d73156b diff --git a/CMakeLists.txt b/CMakeLists.txt index 375dae9..987c9a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,24 +2,14 @@ cmake_minimum_required(VERSION 3.26) SET(IOCore_CMAKE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - # Additional paths to search for custom and third-party CMake modules -list(PREPEND CMAKE_MODULE_PATH ${IOCore_CMAKE_SOURCE_DIR}/cmake) +list(PREPEND CMAKE_MODULE_PATH ${IOCore_CMAKE_SOURCE_DIR}/CMake) include(BuildProperties) - -prevent_in_source_build() -disable_deprecated_features() - -# When this package is included as a subproject, there's no need to -# build and run the unit-tests. -# Sets -DBUILD_TESTING to false by default if this is a third-party lib build -# This check must appear beforezR project() - -disable_tests_if_subproject() +include(DefaultConfig) project(IOCore - VERSION 0.2.23 + VERSION 0.2.24 LANGUAGES C CXX # HOMEPAGE_URL DESCRIPTION "A framework for application management, file IO, etc" diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt deleted file mode 100644 index d5d389c..0000000 --- a/app/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ - -add_executable(app main.cpp) - -#target_include_directories(app PRIVATE -# ${CMAKE_SOURCE_DIR}/src/ -#) - -target_link_libraries(app PRIVATE - library -) - -# Manually adds a predefined target as a dependency -#add_dependencies(app copy-assets) - -# vim: ts=2 sw=2 noet foldmethod=indent : diff --git a/app/main.cpp b/app/main.cpp deleted file mode 100644 index 6a7efc2..0000000 --- a/app/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ - -#include - -int main(int argc, char* argv[], char* envp[]) -{ - std::cout << "main(): hello world
" << std::endl; - return 0; -} - -// clang-format off -// vim: set foldmethod=marker foldmarker=#region,#endregion textwidth=80 ts=8 sts=0 sw=8 noexpandtab ft=cpp.doxygen : diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 26f34b3..fef453e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,17 +9,12 @@ set_target_properties(IOCore PROPERTIES POSITION_INDEPENDENT_CODE ON ) -set(IOCore_PUBLIC_INCLUDE_DIR ${IOCore_ARTIFACT_DIR}/include) -file(MAKE_DIRECTORY ${IOCore_PUBLIC_INCLUDE_DIR}) - -add_custom_target(IOCore_include_files COMMAND ${CMAKE_COMMAND} -E copy_directory ${IOCore_CMAKE_SOURCE_DIR}/include ${IOCore_PUBLIC_INCLUDE_DIR}/IOCore - DEPENDS ${IOCore_CMAKE_SOURCE_DIR}/include - COMMENT "Copying include files to ${IOCore_PUBLIC_INCLUDE_DIR}" +package_library_headers(IOCore + ${IOCore_CMAKE_SOURCE_DIR}/include ) -add_dependencies(IOCore IOCore_include_files) target_include_directories(IOCore PRIVATE ${IOCore_CMAKE_SOURCE_DIR}/include) -target_include_directories(IOCore INTERFACE ${IOCore_PUBLIC_INCLUDE_DIR}) +target_include_directories(IOCore INTERFACE ${IOCore_INCLUDE_OUTPUT_DIR}) # Add additional link options for boost::stacktrace if (USE_BOOST_STACKTRACE) @@ -47,8 +42,8 @@ target_link_libraries(IOCoreShared PRIVATE IOCore) target_link_libraries(IOCoreStatic PUBLIC fmt::fmt-header-only) target_link_libraries(IOCoreShared PUBLIC fmt::fmt-header-only) -target_include_directories(IOCoreStatic INTERFACE ${IOCore_PUBLIC_INCLUDE_DIR}) -target_include_directories(IOCoreShared INTERFACE ${IOCore_PUBLIC_INCLUDE_DIR}) +target_include_directories(IOCoreStatic INTERFACE ${IOCore_INCLUDE_OUTPUT_DIR}) +target_include_directories(IOCoreShared INTERFACE ${IOCore_INCLUDE_OUTPUT_DIR})