Skip to content

Commit f3811d7

Browse files
committed
Make: Library namespaced aliases
1 parent 2007d49 commit f3811d7

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

CMakeLists.txt

+11-11
Original file line numberDiff line numberDiff line change
@@ -111,19 +111,9 @@ endif()
111111

112112
# Configuration
113113
include(GNUInstallDirs)
114-
set(STRINGZILLA_TARGET_NAME ${PROJECT_NAME})
115114
set(STRINGZILLA_INCLUDE_BUILD_DIR "${PROJECT_SOURCE_DIR}/include/")
116115
set(STRINGZILLA_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
117116

118-
# Define our library
119-
add_library(${STRINGZILLA_TARGET_NAME} INTERFACE)
120-
add_library(${PROJECT_NAME}::${STRINGZILLA_TARGET_NAME} ALIAS ${STRINGZILLA_TARGET_NAME})
121-
122-
target_include_directories(
123-
${STRINGZILLA_TARGET_NAME}
124-
INTERFACE $<BUILD_INTERFACE:${STRINGZILLA_INCLUDE_BUILD_DIR}>
125-
$<INSTALL_INTERFACE:include>)
126-
127117

128118
if(${CMAKE_VERSION} VERSION_EQUAL 3.13 OR ${CMAKE_VERSION} VERSION_GREATER 3.13)
129119
include(CTest)
@@ -142,7 +132,6 @@ function(set_compiler_flags target cpp_standard target_arch)
142132
get_target_property(target_type ${target} TYPE)
143133

144134
target_include_directories(${target} PRIVATE scripts)
145-
target_link_libraries(${target} PRIVATE ${STRINGZILLA_TARGET_NAME})
146135

147136
# Set output directory for single-configuration generators (like Make)
148137
set_target_properties(${target} PROPERTIES
@@ -278,6 +267,7 @@ endfunction()
278267
function(define_launcher exec_name source cpp_standard target_arch)
279268
add_executable(${exec_name} ${source})
280269
set_compiler_flags(${exec_name} ${cpp_standard} "${target_arch}")
270+
target_link_libraries(${exec_name} PRIVATE stringzilla_header)
281271
add_test(NAME ${exec_name} COMMAND ${exec_name})
282272
endfunction()
283273

@@ -319,10 +309,20 @@ if(${STRINGZILLA_BUILD_TEST})
319309
endif()
320310
endif()
321311

312+
# Define our libraries, first the header-only version
313+
add_library(stringzilla_header INTERFACE)
314+
add_library(${PROJECT_NAME}::stringzilla_header ALIAS stringzilla_header)
315+
target_include_directories(
316+
stringzilla_header
317+
INTERFACE $<BUILD_INTERFACE:${STRINGZILLA_INCLUDE_BUILD_DIR}>
318+
$<INSTALL_INTERFACE:include>)
319+
320+
322321
if(${STRINGZILLA_BUILD_SHARED})
323322

324323
function(define_shared target)
325324
add_library(${target} SHARED c/lib.c)
325+
add_library(${PROJECT_NAME}::${target} ALIAS ${target})
326326

327327
set_target_properties(${target} PROPERTIES
328328
VERSION ${PROJECT_VERSION}

0 commit comments

Comments
 (0)