Modernize the cmake scripts directory by replacing it with my CMakeTools repo full of common CMake options
Some checks failed
buildbot/IOCore-linux-builder Build started.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-macos-builder Build done.

This commit is contained in:
S David 2024-05-18 09:23:54 -04:00
parent 05a40aa41a
commit 1a6e8679d8
6 changed files with 12 additions and 49 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "CMake"]
path = CMake
url = https://gitea.beniquez.me/sdaveb/CMakeTools.git

1
CMake Submodule

@ -0,0 +1 @@
Subproject commit 36b2066dd89c7c42da064d6ede7bcba12d73156b

View File

@ -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 <URL>
DESCRIPTION "A framework for application management, file IO, etc"

View File

@ -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 :

View File

@ -1,11 +0,0 @@
#include <iostream>
int main(int argc, char* argv[], char* envp[])
{
std::cout << "main(): hello world<br/>" << 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 :

View File

@ -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})