Skip to content

Commit 86b7b22

Browse files
authored
Merge pull request #623 from scratchcpp/cmake_install
Configure CMake installation
2 parents e60f7c0 + 491aa7b commit 86b7b22

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

CMakeLists.txt

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ add_library(scratchcpp SHARED)
1414
add_subdirectory(src)
1515
include_directories(src) # TODO: Remove this line
1616
include_directories(include)
17+
install(TARGETS scratchcpp DESTINATION lib)
1718

1819
target_sources(scratchcpp
1920
PUBLIC
@@ -66,31 +67,28 @@ target_sources(scratchcpp
6667
include/scratchcpp/test/scriptbuilder.h
6768
)
6869

69-
if(LIBSCRATCHCPP_PRINT_LLVM_IR)
70-
target_compile_definitions(scratchcpp PRIVATE PRINT_LLVM_IR)
71-
endif()
72-
7370
include(FetchContent)
74-
set(ZIP_SRC thirdparty/zip/src)
75-
set(UTFCPP_SRC thirdparty/utfcpp/source)
7671

77-
add_library(zip SHARED
78-
${ZIP_SRC}/zip.c
79-
${ZIP_SRC}/zip.h
80-
${ZIP_SRC}/miniz.h
81-
)
82-
target_include_directories(scratchcpp PUBLIC ${ZIP_SRC})
72+
# zip
73+
include(build/zip.cmake)
74+
target_link_libraries(scratchcpp PRIVATE zip)
8375

76+
# utfcpp
77+
set(UTFCPP_SRC thirdparty/utfcpp/source)
8478
target_include_directories(scratchcpp PUBLIC ${UTFCPP_SRC})
79+
80+
# spimpl
8581
include_directories(thirdparty/spimpl)
8682

83+
# JSON
8784
FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz)
8885
FetchContent_MakeAvailable(json)
89-
9086
target_link_libraries(scratchcpp PRIVATE nlohmann_json::nlohmann_json)
91-
target_link_libraries(scratchcpp PRIVATE zip)
87+
88+
# Audio
9289
target_link_libraries(scratchcpp PRIVATE scratchcpp-audio)
9390

91+
# Network
9492
if (LIBSCRATCHCPP_NETWORK_SUPPORT)
9593
FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/libcpr/cpr.git
9694
GIT_TAG 225b7454877805f089b3895260438e929bd6d123) # 09-22-2024
@@ -99,16 +97,23 @@ if (LIBSCRATCHCPP_NETWORK_SUPPORT)
9997
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_NETWORK_SUPPORT)
10098
endif()
10199

100+
# LLVM
102101
include(build/HunterPackages.cmake)
103102
include(build/LLVM.cmake)
104103
target_link_libraries(scratchcpp PRIVATE LLVM)
105104

105+
if(LIBSCRATCHCPP_PRINT_LLVM_IR)
106+
target_compile_definitions(scratchcpp PRIVATE PRINT_LLVM_IR)
107+
endif()
108+
109+
# Macros
106110
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_LIBRARY)
107111
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION="${PROJECT_VERSION}")
108112
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION_MAJOR=${PROJECT_VERSION_MAJOR})
109113
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION_MINOR=${PROJECT_VERSION_MINOR})
110114
target_compile_definitions(scratchcpp PRIVATE LIBSCRATCHCPP_VERSION_PATCH=${PROJECT_VERSION_PATCH})
111115

116+
# Unit tests
112117
if (LIBSCRATCHCPP_BUILD_UNIT_TESTS)
113118
enable_testing()
114119
add_subdirectory(test)

build/zip.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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})
10+
install(TARGETS zip DESTINATION lib)

0 commit comments

Comments
 (0)