move to new build system

This commit is contained in:
2024-06-06 14:17:47 -05:00
parent 88d8bf63f5
commit aee68520b3
563 changed files with 4283 additions and 361439 deletions

View File

@ -1,50 +1,51 @@
if (ALPINE_FOUND)
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
set(CMAKE_COLOR_MAKEFILE OFF)
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
set(REPERTORY_MUSL ON)
set(REPERTORY_DEFINITIONS ${REPERTORY_DEFINITIONS} -DREPERTORY_MUSL)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
if(PROJECT_STATIC_LINK)
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
else()
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
set(CMAKE_COLOR_MAKEFILE OFF)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_MODULE_PATH
${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules
${CMAKE_MODULE_PATH}
set(CMAKE_BUILD_TYPE ${PROJECT_CMAKE_BUILD_TYPE})
file(MAKE_DIRECTORY ${PROJECT_EXTERNAL_BUILD_ROOT}/lib)
file(CREATE_LINK ${PROJECT_EXTERNAL_BUILD_ROOT}/lib ${PROJECT_EXTERNAL_BUILD_ROOT}/lib64 SYMBOLIC)
list(PREPEND CMAKE_PREFIX_PATH
${PROJECT_EXTERNAL_BUILD_ROOT}
${PROJECT_EXTERNAL_BUILD_ROOT}/share
)
if (MINGW)
set(CMAKE_MODULE_PATH
/mingw64/lib/cmake
/mingw64/lib64/cmake
${CMAKE_MODULE_PATH}
if(PROJECT_IS_MINGW)
list(PREPEND CMAKE_PREFIX_PATH
/mingw64
)
include_directories(BEFORE
/mingw64/include
)
link_directories(BEFORE
/mingw64/lib
/mingw64/lib64
)
endif()
set(THREADS_PREFER_PTHREAD_FLAG ON)
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
include_directories(BEFORE SYSTEM
${PROJECT_3RD_PARTY_DIR}/include
${PROJECT_EXTERNAL_BUILD_ROOT}/include
)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(DEBUG_EXTRA d)
set(DEBUG_EXTRA2 -${DEBUG_EXTRA})
set(DEBUG_EXTRA3 _${DEBUG_EXTRA})
set(BOOST_DEBUG_EXTRA gd-)
set(CMAKE_BUILD_TYPE_LOWER debug)
else()
set(CMAKE_BUILD_TYPE_LOWER release)
endif()
string(TOLOWER "${CMAKE_GENERATOR}" CMAKE_GENERATOR_LOWER)
set(REPERTORY_OUTPUT_DIR ${CMAKE_BINARY_DIR})
set(EXTERNAL_BUILD_ROOT ${CMAKE_BINARY_DIR}/external)
set(EXTERNAL_BUILD_TYPE ${CMAKE_BUILD_TYPE})
if (UNIX OR MINGW)
file(MAKE_DIRECTORY ${EXTERNAL_BUILD_ROOT}/lib)
file(CREATE_LINK ${EXTERNAL_BUILD_ROOT}/lib ${EXTERNAL_BUILD_ROOT}/lib64 SYMBOLIC)
endif()
link_directories(BEFORE
${PROJECT_EXTERNAL_BUILD_ROOT}/lib
${PROJECT_EXTERNAL_BUILD_ROOT}/lib64
)