Skip to content

Commit 7c1e08a

Browse files
committed
Refactor CMake configuration
1 parent a053380 commit 7c1e08a

File tree

2 files changed

+27
-10
lines changed

2 files changed

+27
-10
lines changed

CMakeLists.txt

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,26 +95,27 @@ else()
9595
endif()
9696

9797
include(FetchContent)
98-
set(ZIP_SRC thirdparty/zip/src)
99-
set(UTFCPP_SRC thirdparty/utfcpp/source)
10098

101-
add_library(zip SHARED
102-
${ZIP_SRC}/zip.c
103-
${ZIP_SRC}/zip.h
104-
${ZIP_SRC}/miniz.h
105-
)
106-
target_include_directories(scratchcpp PUBLIC ${ZIP_SRC})
99+
# zip
100+
include(build/zip.cmake)
101+
target_link_libraries(scratchcpp PRIVATE zip)
107102

103+
# utfcpp
104+
set(UTFCPP_SRC thirdparty/utfcpp/source)
108105
target_include_directories(scratchcpp PUBLIC ${UTFCPP_SRC})
106+
107+
# spimpl
109108
include_directories(thirdparty/spimpl)
110109

110+
# JSON
111111
FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz)
112112
FetchContent_MakeAvailable(json)
113-
114113
target_link_libraries(scratchcpp PRIVATE nlohmann_json::nlohmann_json)
115-
target_link_libraries(scratchcpp PRIVATE zip)
114+
115+
# Audio
116116
target_link_libraries(scratchcpp PRIVATE scratchcpp-audio)
117117

118+
# Network
118119
if (LIBSCRATCHCPP_NETWORK_SUPPORT)
119120
FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/libcpr/cpr.git
120121
GIT_TAG 225b7454877805f089b3895260438e929bd6d123) # 09-22-2024
@@ -123,18 +124,25 @@ if (LIBSCRATCHCPP_NETWORK_SUPPORT)
123124
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_NETWORK_SUPPORT)
124125
endif()
125126

127+
# LLVM
126128
if (LIBSCRATCHCPP_USE_LLVM)
127129
include(build/HunterPackages.cmake)
128130
include(build/LLVM.cmake)
129131
target_link_libraries(scratchcpp PRIVATE LLVM)
130132
endif()
131133

134+
if(LIBSCRATCHCPP_PRINT_LLVM_IR)
135+
target_compile_definitions(scratchcpp PRIVATE PRINT_LLVM_IR)
136+
endif()
137+
138+
# Macros
132139
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_LIBRARY)
133140
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION="${PROJECT_VERSION}")
134141
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION_MAJOR=${PROJECT_VERSION_MAJOR})
135142
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION_MINOR=${PROJECT_VERSION_MINOR})
136143
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION_PATCH=${PROJECT_VERSION_PATCH})
137144

145+
# Unit tests
138146
if (LIBSCRATCHCPP_BUILD_UNIT_TESTS)
139147
enable_testing()
140148
add_subdirectory(test)

build/zip.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
set(ZIP_SRC ${PROJECT_SOURCE_DIR}/thirdparty/zip/src)
2+
3+
add_library(zip SHARED
4+
${ZIP_SRC}/zip.c
5+
${ZIP_SRC}/zip.h
6+
${ZIP_SRC}/miniz.h
7+
)
8+
9+
target_include_directories(zip PUBLIC ${ZIP_SRC})

0 commit comments

Comments
 (0)