Skip to content

Commit

Permalink
Update to new library and executable target names
Browse files Browse the repository at this point in the history
  • Loading branch information
thejohnfreeman committed May 30, 2024
1 parent 7796e67 commit 6b4086a
Show file tree
Hide file tree
Showing 27 changed files with 132 additions and 47 deletions.
49 changes: 48 additions & 1 deletion 00-upstream/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,58 @@ cupcake_link_libraries(zero.imports.main INTERFACE main)

cupcake_add_library(zero)

cupcake_add_executable(zero)
target_link_libraries(${this} PRIVATE zero.l.zero)

cupcake_add_executable(true)
target_link_libraries(${this} PRIVATE zero::libzero)
target_link_libraries(${this} PRIVATE zero.l.zero)

cupcake_enable_testing()

cupcake_install_project()

cupcake_install_cpp_info()

# internal libraries for named project
cupcake_assert(NOT TARGET zero.libzero) # deprecated
cupcake_assert(TARGET zero.libraries) # all libraries
cupcake_assert(TARGET zero.libraries.zero) # named library (long)
cupcake_assert(TARGET zero.l.zero) # named library (short)
cupcake_assert(TARGET zero.library) # main library

if(PROJECT_IS_TOP_LEVEL)
# internal libraries for root project
cupcake_assert(TARGET libraries) # all libraries
cupcake_assert(TARGET libraries.zero) # named library (long)
cupcake_assert(TARGET l.zero) # named library (short)
cupcake_assert(TARGET library) # main library
endif()

# external libraries
cupcake_assert(NOT TARGET zero::libzero) # deprecated
cupcake_assert(TARGET zero::libraries) # all libraries
cupcake_assert(TARGET zero::libraries::zero) # named library (long)
cupcake_assert(TARGET zero::l::zero) # named library (short)
cupcake_assert(TARGET zero::library) # main library

# internal executables for named project
cupcake_assert(NOT TARGET zero.zero)
cupcake_assert(TARGET zero.executables) # all executables
cupcake_assert(TARGET zero.executables.zero) # named executable (long)
cupcake_assert(TARGET zero.e.zero) # named executable (short)
cupcake_assert(TARGET zero.executable) # main executable

if(PROJECT_IS_TOP_LEVEL)
# internal executables for root project
cupcake_assert(TARGET executables) # all executables
cupcake_assert(TARGET executables.zero) # named executable (long)
cupcake_assert(TARGET e.zero) # named executable (short)
cupcake_assert(TARGET executable) # main executable
endif()

# external executables
cupcake_assert(NOT TARGET zero::zero)
#cupcake_assert(TARGET zero::executables) # all executables
cupcake_assert(TARGET zero::executables::zero) # named executable (long)
cupcake_assert(TARGET zero::e::zero) # named executable (short)
cupcake_assert(TARGET zero::executable) # main executable
8 changes: 8 additions & 0 deletions 00-upstream/src/zero.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <cstdio>

#include <zero/zero.hpp>

int main() {
std::printf("%d!\n", zero::zero());
return 0;
}
15 changes: 12 additions & 3 deletions 00-upstream/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,26 @@ cupcake_link_libraries(zero.imports.test INTERFACE test)
cupcake_add_test(zero)
target_link_libraries(
${this}
zero::libzero
zero.library
)

cupcake_add_test(boolean)
target_link_libraries(
${this}
zero::libzero
zero.library
)

cupcake_add_test(version)
target_link_libraries(
${this}
zero::libzero
zero.library
)

# internal tests
cupcake_assert(TARGET zero.tests)
cupcake_assert(TARGET zero.tests.zero)
cupcake_assert(TARGET zero.t.zero)

cupcake_assert(TARGET tests)
cupcake_assert(TARGET tests.zero)
cupcake_assert(TARGET t.zero)
25 changes: 23 additions & 2 deletions 01-find-package/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,36 @@ cupcake_find_package(zero)
# }

target_link_libraries(one.imports.main INTERFACE
zero::libzero
zero::library
)

cupcake_add_library(one)
target_link_libraries(${this} PUBLIC one.imports.main)

cupcake_add_executable(hello)
target_link_libraries(${this} PRIVATE one.libone)
target_link_libraries(${this} PRIVATE one.l.one)

cupcake_enable_testing()

cupcake_install_project()

# external libraries
cupcake_assert(TARGET zero::libraries) # all libraries
cupcake_assert(TARGET zero::libraries::zero) # named library (long)
cupcake_assert(TARGET zero::l::zero) # named library (short)
cupcake_assert(TARGET zero::library) # main library

# external executables
# cupcake_assert(TARGET zero::executables) # all executables?
cupcake_assert(TARGET zero::executables::zero) # named executable (long)
cupcake_assert(TARGET zero::e::zero) # named executable (short)
cupcake_assert(TARGET zero::executable) # main executable

# external variables
cupcake_assert(zero_LIBRARY_NAMES STREQUAL "zero")
# <package>_LIBRARIES is the CMake convention.
# See: FindBoost, FindProtobuf, FindOpenSSL, etc.
# We can only assert that the variable is defined and is a list of targets.
cupcake_assert(zero_LIBRARIES STREQUAL "zero::libraries::zero")
cupcake_assert(zero_EXECUTABLE_NAMES STREQUAL "zero\;true")
cupcake_assert(zero_EXECUTABLES STREQUAL "zero::executables::zero\;zero::executables::true")
6 changes: 3 additions & 3 deletions 01-find-package/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(one)
target_link_libraries(
${this}
one::libone
one.library
)

cupcake_add_test(boolean)
target_link_libraries(
${this}
one::libone
one.library
)

cupcake_add_test(version)
target_link_libraries(
${this}
zero::libzero
zero::library
)
2 changes: 1 addition & 1 deletion 02-add-subdirectory/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ cupcake_find_package(zero)
cupcake_add_library(two)

cupcake_add_executable(goodbye)
target_link_libraries(${this} PRIVATE zero::libzero)
target_link_libraries(${this} PRIVATE zero::library)

cupcake_enable_testing()

Expand Down
2 changes: 1 addition & 1 deletion 02-add-subdirectory/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cupcake_find_package(doctest PRIVATE)

target_link_libraries(two.imports.test INTERFACE
two::libtwo
two.library
doctest::doctest
)

Expand Down
4 changes: 2 additions & 2 deletions 03-fp-fp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ cupcake_find_package(one)
# }

cupcake_add_library(three)
target_link_libraries(${this} PUBLIC one::libone)
target_link_libraries(${this} PUBLIC one::library)

cupcake_add_executable(aloha)
target_link_libraries(${this} PRIVATE one::libone)
target_link_libraries(${this} PRIVATE one::library)

cupcake_enable_testing()

Expand Down
2 changes: 1 addition & 1 deletion 03-fp-fp/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(three)
target_link_libraries(
${this}
three::libthree
three.library
doctest::doctest
)
4 changes: 2 additions & 2 deletions 04-as-fp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ cupcake_find_package(two)
# }

cupcake_add_library(four)
target_link_libraries(${this} PUBLIC two::libtwo)
target_link_libraries(${this} PUBLIC two::library)

cupcake_add_executable(four)
target_link_libraries(${this} PRIVATE four::libfour)
target_link_libraries(${this} PRIVATE four.library)

cupcake_enable_testing()

Expand Down
2 changes: 1 addition & 1 deletion 04-as-fp/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(four)
target_link_libraries(
${this}
four::libfour
four.library
doctest::doctest
)
4 changes: 2 additions & 2 deletions 05-fetch-content/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ cupcake_add_library(five)

cupcake_add_executable(five)
target_link_libraries(${this} PRIVATE
zero::libzero
five::libfive
zero::library
five.library
)

cupcake_enable_testing()
Expand Down
2 changes: 1 addition & 1 deletion 05-fetch-content/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(five)
target_link_libraries(
${this}
five::libfive
five.library
doctest::doctest
)
4 changes: 2 additions & 2 deletions 06-fp-fc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ cupcake_find_package(one)
# }

cupcake_add_library(six)
target_link_libraries(${this} PRIVATE one::libone)
target_link_libraries(${this} PRIVATE one::library)

cupcake_add_executable(six)
target_link_libraries(${this} PRIVATE six::libsix)
target_link_libraries(${this} PRIVATE six.library)

cupcake_enable_testing()

Expand Down
2 changes: 1 addition & 1 deletion 06-fp-fc/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(six)
target_link_libraries(
${this}
six::libsix
six.library
doctest::doctest
)
4 changes: 2 additions & 2 deletions 07-as-fc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ cupcake_find_package(two)
# }

cupcake_add_library(seven)
target_link_libraries(${this} PRIVATE two::libtwo)
target_link_libraries(${this} PRIVATE two::library)

cupcake_add_executable(seven)
target_link_libraries(${this} PRIVATE seven::libseven)
target_link_libraries(${this} PRIVATE seven.library)

cupcake_enable_testing()

Expand Down
2 changes: 1 addition & 1 deletion 07-as-fc/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(seven)
target_link_libraries(
${this}
seven::libseven
seven.library
doctest::doctest
)
4 changes: 2 additions & 2 deletions 08-find-module/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ cupcake_add_library(eight)

cupcake_add_executable(eight)
target_link_libraries(${this} PRIVATE
zero::libzero
eight::libeight
zero::library
eight.library
)

cupcake_enable_testing()
Expand Down
10 changes: 5 additions & 5 deletions 08-find-module/external/Findzero.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,17 @@ if(
${package}_LIBRARY AND
${package}_EXECUTABLE
)
if(NOT TARGET zero::libzero)
add_library(zero::libzero UNKNOWN IMPORTED)
set_target_properties(zero::libzero PROPERTIES
if(NOT TARGET zero::libraries::zero)
add_library(zero::libraries::zero UNKNOWN IMPORTED)
set_target_properties(zero::libraries::zero PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${${package}_INCLUDE_DIR}"
IMPORTED_LOCATION "${${package}_LIBRARY}"
IMPORTED_LOCATION_DEBUG "${${package}_LIBRARY}"
IMPORTED_LOCATION_RELEASE "${${package}_LIBRARY}"
)

add_executable(zero::true IMPORTED)
set_target_properties(zero::true PROPERTIES
add_executable(zero::executables::true IMPORTED)
set_target_properties(zero::executables::true PROPERTIES
IMPORTED_LOCATION "${${package}_EXECUTABLE}"
IMPORTED_LOCATION_DEBUG "${${package}_EXECUTABLE}"
IMPORTED_LOCATION_RELEASE "${${package}_EXECUTABLE}"
Expand Down
2 changes: 1 addition & 1 deletion 08-find-module/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(eight)
target_link_libraries(
${this}
eight::libeight
eight.library
doctest::doctest
)
4 changes: 2 additions & 2 deletions 09-external-project/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ cupcake_add_library(nine)

cupcake_add_executable(nine)
target_link_libraries(${this} PRIVATE
zero::libzero
nine::libnine
zero::library
nine.library
)

cupcake_enable_testing()
Expand Down
2 changes: 1 addition & 1 deletion 09-external-project/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ cupcake_find_package(doctest PRIVATE)
cupcake_add_test(nine)
target_link_libraries(
${this}
nine::libnine
nine.library
doctest::doctest
)
8 changes: 4 additions & 4 deletions 10-special/cupcake.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{
"name": "zero",
"file": "zero",
"targets": ["zero::libzero"]
"targets": ["zero::libraries::zero"]
},
{
"name": "doctest",
Expand All @@ -16,10 +16,10 @@
{ "name": "ten", "links": ["${PROJECT_NAME}.imports.main"] }
],
"executables": [
{ "name": "ten", "links": ["ten.libten"] }
{ "name": "ten", "links": ["ten.library"] }
],
"tests": [
{ "name": "ten", "links": ["ten.imports.test", "ten.libten"] },
{ "name": "boolean", "links": ["ten.imports.test", "ten.libten"] }
{ "name": "ten", "links": ["ten.imports.test", "ten.library"] },
{ "name": "boolean", "links": ["ten.imports.test", "ten.library"] }
]
}
6 changes: 3 additions & 3 deletions 10-special/examples/diez/cupcake.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
{
"name": "ten",
"file": "ten",
"targets": ["ten::libten"]
"targets": ["ten::library"]
}
],
"libraries": [
{ "name": "diez", "links": [{ "target": "${PROJECT_NAME}.imports.main" }] }
],
"executables": [
{ "name": "diez", "links": [{ "target": "diez.libdiez" }] }
{ "name": "diez", "links": [{ "target": "diez.library" }] }
]
},
"test": {
Expand All @@ -24,7 +24,7 @@
}
],
"tests": [
{ "name": "diez", "links": [{ "target": "diez.imports.test" }, { "target": "diez.libdiez" }] }
{ "name": "diez", "links": [{ "target": "diez.imports.test" }, { "target": "diez.library" }] }
]
}
}
Expand Down
2 changes: 1 addition & 1 deletion 11-no-cupcake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ if(BUILD_SHARED_LIBS)
else()
target_compile_definitions(libeleven PUBLIC ELEVEN_STATIC)
endif()
target_link_libraries(libeleven PUBLIC zero::libzero)
target_link_libraries(libeleven PUBLIC zero::l::zero)

add_executable(eleven src/eleven.cpp)
target_link_libraries(eleven PRIVATE libeleven)
Expand Down
Loading

0 comments on commit 6b4086a

Please sign in to comment.