Files
source/ext/VFS/CMakeLists.txt
T
Marco Antonio Jaguaribe Costaandmajcosta eca4086d30 inherit minimum cmake version from ja2
all this does is silence the warning that cmake 2.6 is deprecated, we're
never building bfVFS standalone anyway
2023-10-07 09:21:11 -03:00

128 lines
3.0 KiB
CMake

project(bfVFS)
set(BFVFS_VERSION_MAJOR 1)
set(BFVFS_VERSION_MINOR 0)
set(BFVFS_VERSION_PATCH 0)
##
## determine input/output directories
##
if(BFVFS_INTEGRATED_SOURCE_DIR)
set(BFVFS_SOURCE_DIR ${BFVFS_INTEGRATED_SOURCE_DIR})
else()
set(BFVFS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
endif()
if(BFVFS_INTEGRATED_OUTPUT_DIR)
set(BFVFS_OUTPUT_DIR ${BFVFS_INTEGRATED_OUTPUT_DIR})
else()
set(BFVFS_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
endif()
if(BFVFS_INTEGRATED_LIBRARY_DIR)
set(BFVFS_LIBRARY_DIR ${BFVFS_INTEGRATED_LIBRARY_DIR})
else()
set(BFVFS_LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/lib)
endif()
if(BFVFS_INTEGRATED_RUNTIME_DIR)
set(BFVFS_RUNTIME_DIR ${BFVFS_INTEGRATED_RUNTIME_DIR})
else()
set(BFVFS_RUNTIME_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin)
endif()
set(BFVFS_INCLUDE_DIR ${BFVFS_SOURCE_DIR}/include)
##
## set bfVFS "output" variables
##
set(BFVFS_INCLUDE_DIRS ${BFVFS_INCLUDE_DIR})
set(BFVFS_LIBRARY_DIRS ${BFVFS_LIBRARY_DIR})
set(BFVFS_RUNTIME_DIRS ${BFVFS_RUNTIME_DIR})
##
## Options
##
option(BUILD_BFVFS_SHARED "Build shared libraries" OFF)
option(BFVFS_WITH_SLF "Enable SLF support" ON)
option(BFVFS_WITH_7ZIP "Enable 7-zip support" ON)
if(BFVFS_WITH_7ZIP)
set(BFVFS_7ZIP_DIR ${BFVFS_SOURCE_DIR}/ext/7z)
if(BUILD_BFVFS_SHARED)
set(BUILD_BFVFS_7ZIP_SHARED ON)
endif()
endif()
##
## set include directories for projects
##
include_directories(${BFVFS_INCLUDE_DIRS}
${BFVFS_SOURCE_DIR}/ext/utfcpp/source
)
##
## Build 7zip (if selected)
##
if(BFVFS_WITH_7ZIP)
add_subdirectory(${BFVFS_7ZIP_DIR})
endif()
##
## Build bfVFS
##
add_subdirectory(src)
##
## set more "output" variables
##
set(BFVFS_LIBRARIES ${BFVFS_TARGET})
if(BFVFS_WITH_7ZIP)
set(BFVFS_LIBRARIES ${BFVFS_LIBRARIES} ${BFVFS_7ZIP_TARGET})
endif()
set(BFVFS_DEFINITIONS ${BFVFS_VFS_DEFINITIONS} ${BFVFS_7ZIP_DEFINITIONS})
##
## make bfVFS easier to use in other applications
##
configure_file(${BFVFS_SOURCE_DIR}/BFVFSConfig.cmake.in
${BFVFS_OUTPUT_DIR}/BFVFSConfig.cmake @ONLY IMMEDIATE)
configure_file(${BFVFS_SOURCE_DIR}/UseBFVFS.cmake.in
${BFVFS_OUTPUT_DIR}/UseBFVFS.cmake @ONLY IMMEDIATE)
##
## debug CMake
##
mark_as_advanced(BFVFS_DEBUG_CMAKE)
option(BFVFS_DEBUG_CMAKE OFF)
if(BFVFS_DEBUG_CMAKE)
message("OPTIONS :")
message(" BUILD_BFVFS_SHARED - " ${BUILD_BFVFS_SHARED})
message(" BFVFS_WITH_7ZIP - " ${BFVFS_WITH_7ZIP})
message(" BFVFS_WITH_SLF - " ${BFVFS_WITH_SLF})
message("BFVFS_DEFINITIONS :")
foreach(def ${BFVFS_DEFINITIONS})
message(" " ${def})
endforeach()
message("BFVFS_INCLUDE_DIRS :")
foreach(dir ${BFVFS_INCLUDE_DIRS})
message(" " ${dir})
endforeach()
message("BFVFS_LIBRARY_DIRS :")
foreach(dir ${BFVFS_LIBRARY_DIRS})
message(" " ${dir})
endforeach()
message("BFVFS_LIBRARIES :")
foreach(lib ${BFVFS_LIBRARIES})
message(" " ${lib})
endforeach()
endif()