Files
source/ext/VFS/src/CMakeLists.txt
T

78 lines
1.9 KiB
CMake

####################################################
set(INCLUDE_bfvfs_config
${BFVFS_INCLUDE_DIR}/vfs/vfs_config.h
)
source_group("" FILES ${INCLUDE_bfvfs_config})
set(BFVFS_files ${INCLUDE_bfvfs_config})
##
## iterate over bfVFS modules and add files
##
set(BFVFS_MODULES "Aspects" "Core" "Ext" "Tools")
foreach(mod ${BFVFS_MODULES})
set( MOD_INCLUDE ${BFVFS_INCLUDE_DIR}/vfs/${mod} )
set( MOD_SOURCE ${mod} )
include( ${mod}/files.cmake )
set(BFVFS_files ${BFVFS_files} ${${mod}_files})
endforeach()
if(BFVFS_WITH_7ZIP)
set(DEFINITIONS ${DEFINITIONS} "-DVFS_WITH_7ZIP")
add_definitions(-DVFS_WITH_7ZIP ${BFVFS_7ZIP_DEFINITIONS})
include_directories(${BFVFS_7ZIP_DIR}/src)
endif()
if(BFVFS_WITH_SLF)
set(DEFINITIONS ${DEFINITIONS} "-DVFS_WITH_SLF")
add_definitions(-DVFS_WITH_SLF)
endif()
####################################################
if(WIN32)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif()
if(BUILD_BFVFS_SHARED)
set(BUILD_SHARED_LIBS ON)
add_definitions(-DVFS_EXPORT)
set(DEFINITIONS ${DEFINITIONS} -DVFS_IMPORT)
else()
set(BUILD_SHARED_LIBS OFF)
add_definitions(-DVFS_STATIC)
set(DEFINITIONS ${DEFINITIONS} -DVFS_STATIC)
endif()
set(BFVFS_TARGET "bfVFS" CACHE INTERNAL "")
add_library( ${BFVFS_TARGET} ${BFVFS_files} )
set_property(
TARGET ${BFVFS_TARGET}
PROPERTY ARCHIVE_OUTPUT_DIRECTORY ${BFVFS_LIBRARY_DIRS}
)
set_property(
TARGET ${BFVFS_TARGET}
PROPERTY LIBRARY_OUTPUT_DIRECTORY ${BFVFS_LIBRARY_DIRS}
)
set_property(
TARGET ${BFVFS_TARGET}
PROPERTY RUNTIME_OUTPUT_DIRECTORY ${BFVFS_RUNTIME_DIRS}
)
if(BUILD_BFVFS_SHARED)
if(MINGW)
set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-enable-auto-import")
endif()
if(BFVFS_WITH_7ZIP)
target_link_libraries(${BFVFS_TARGET} ${BFVFS_7ZIP_TARGET})
endif()
endif()
set(BFVFS_VFS_DEFINITIONS ${DEFINITIONS} CACHE INTERNAL "")