blob: 2520b50c3213e8c1d2e2624fa928e809334ec097 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
cmake_minimum_required(VERSION 3.16)
include(GNUInstallDirs)
find_package(Boost CONFIG REQUIRED COMPONENTS thread)
find_package(spdlog CONFIG REQUIRED)
file(GLOB sources "*.cpp" "*.h")
source_group("" FILES ${sources})
file(GLOB hooks "hooks/*.cpp" "hooks/*.h")
source_group("dlls" FILES ${hooks})
add_library(usvfs_dll SHARED)
target_sources(usvfs_dll
PRIVATE
${PROJECT_SOURCE_DIR}/include/usvfs/usvfsparametersprivate.h
${sources}
${hooks}
version.rc
PUBLIC
FILE_SET HEADERS
BASE_DIRS ${PROJECT_SOURCE_DIR}/include
FILES
${PROJECT_SOURCE_DIR}/include/usvfs/dllimport.h
${PROJECT_SOURCE_DIR}/include/usvfs/logging.h
${PROJECT_SOURCE_DIR}/include/usvfs/sharedparameters.h
${PROJECT_SOURCE_DIR}/include/usvfs/usvfs_version.h
${PROJECT_SOURCE_DIR}/include/usvfs/usvfs.h
${PROJECT_SOURCE_DIR}/include/usvfs/usvfsparameters.h
)
target_link_libraries(usvfs_dll
PRIVATE shared thooklib usvfs_helper
Boost::thread spdlog::spdlog_header_only
Shlwapi)
target_compile_definitions(usvfs_dll PRIVATE BUILDING_USVFS_DLL)
set_target_properties(usvfs_dll
PROPERTIES
ARCHIVE_OUTPUT_NAME usvfs${ARCH_POSTFIX}
ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${USVFS_LIBDIR}
ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${USVFS_LIBDIR}
LIBRARY_OUTPUT_NAME usvfs${ARCH_POSTFIX}
LIBRARY_OUTPUT_DIRECTORY_DEBUG ${USVFS_LIBDIR}
LIBRARY_OUTPUT_DIRECTORY_RELEASE ${USVFS_LIBDIR}
PDB_OUTPUT_DIRECTORY_DEBUG ${USVFS_LIBDIR}
PDB_OUTPUT_DIRECTORY_RELEASE ${USVFS_LIBDIR}
RUNTIME_OUTPUT_NAME usvfs${ARCH_POSTFIX}
RUNTIME_OUTPUT_DIRECTORY_DEBUG ${USVFS_LIBDIR}
RUNTIME_OUTPUT_DIRECTORY_RELEASE ${USVFS_LIBDIR})
install(TARGETS usvfs_dll EXPORT usvfs${ARCH_POSTFIX}Targets FILE_SET HEADERS)
install(FILES $<TARGET_PDB_FILE:usvfs_dll> DESTINATION pdb OPTIONAL)
install(EXPORT usvfs${ARCH_POSTFIX}Targets
FILE usvfs${ARCH_POSTFIX}Targets.cmake
NAMESPACE usvfs${ARCH_POSTFIX}::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/usvfs
)
|