Skip to content

Commit 5530987

Browse files
committed
use directory names of sample-apps, when declaring their respective projects' names
1 parent 0f0b5e7 commit 5530987

File tree

7 files changed

+85
-59
lines changed

7 files changed

+85
-59
lines changed

P0267_RefImpl/Samples/cpu_load/CMakeLists.txt

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
cmake_minimum_required(VERSION 3.0.0)
22
set(CMAKE_CXX_STANDARD 17)
3-
project(cpuload)
3+
4+
# Use the CMakeLists.txt's parent-directory-name for the project's id/name
5+
get_filename_component(PROJECT_ID ${CMAKE_CURRENT_SOURCE_DIR} NAME)
6+
string(REPLACE " " "_" PROJECT_ID ${PROJECT_ID})
7+
project(${PROJECT_ID})
48

59
set(CPULOAD_SRC
610
main.cpp
@@ -20,15 +24,15 @@ else()
2024
return()
2125
endif()
2226

23-
add_executable(cpuload ${CPULOAD_SRC})
24-
target_link_libraries(cpuload io2d)
27+
add_executable(${PROJECT_ID} ${CPULOAD_SRC})
28+
target_link_libraries(${PROJECT_ID} io2d)
2529

2630
if( DEFINED IOS_PLATFORM )
2731
# iOS requires special packaging, so we have to treat this target separately
28-
set_target_properties(cpuload PROPERTIES MACOSX_BUNDLE YES)
29-
set_target_properties(cpuload PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/iOS/Info.plist")
30-
target_sources(cpuload PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard)
31-
target_sources(cpuload PRIVATE iOS/libcxx_tmp_stubs.cpp)
32-
set_target_properties(cpuload PROPERTIES RESOURCE "${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard")
33-
set_target_properties(cpuload PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
32+
set_target_properties(${PROJECT_ID} PROPERTIES MACOSX_BUNDLE YES)
33+
set_target_properties(${PROJECT_ID} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/iOS/Info.plist")
34+
target_sources(${PROJECT_ID} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard)
35+
target_sources(${PROJECT_ID} PRIVATE iOS/libcxx_tmp_stubs.cpp)
36+
set_target_properties(${PROJECT_ID} PROPERTIES RESOURCE "${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard")
37+
set_target_properties(${PROJECT_ID} PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
3438
endif()
Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
cmake_minimum_required(VERSION 3.0.0)
2-
project(io2d CXX)
3-
42
set(CMAKE_CXX_STANDARD 17)
53

6-
add_executable(draw_cpp main.cpp)
4+
# Use the CMakeLists.txt's parent-directory-name for the project's id/name
5+
get_filename_component(PROJECT_ID ${CMAKE_CURRENT_SOURCE_DIR} NAME)
6+
string(REPLACE " " "_" PROJECT_ID ${PROJECT_ID})
7+
project(${PROJECT_ID})
8+
9+
add_executable(${PROJECT_ID} main.cpp)
710

8-
target_link_libraries(draw_cpp io2d)
11+
target_link_libraries(${PROJECT_ID} io2d)
912

1013
set(RSC_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/texture.jpg)
11-
set(RSC_TARGET $<TARGET_FILE_DIR:draw_cpp>/texture.jpg)
14+
set(RSC_TARGET $<TARGET_FILE_DIR:${PROJECT_ID}>/texture.jpg)
1215

13-
add_custom_command( TARGET draw_cpp POST_BUILD
16+
add_custom_command( TARGET ${PROJECT_ID} POST_BUILD
1417
COMMAND ${CMAKE_COMMAND} -E copy "${RSC_SOURCE}" "${RSC_TARGET}")
1518

1619
if(MSVC)
17-
set_target_properties(draw_cpp PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$(Configuration)")
20+
set_target_properties(${PROJECT_ID} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$(Configuration)")
1821
endif()
Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
cmake_minimum_required(VERSION 3.0.0)
22
set(CMAKE_CXX_STANDARD 17)
33

4-
project(life)
5-
add_executable(life main.cpp)
6-
target_link_libraries(life io2d)
4+
# Use the CMakeLists.txt's parent-directory-name for the project's id/name
5+
get_filename_component(PROJECT_ID ${CMAKE_CURRENT_SOURCE_DIR} NAME)
6+
string(REPLACE " " "_" PROJECT_ID ${PROJECT_ID})
7+
project(${PROJECT_ID})
8+
9+
add_executable(${PROJECT_ID} main.cpp)
10+
target_link_libraries(${PROJECT_ID} io2d)
711

812
if( DEFINED IOS_PLATFORM )
913
# iOS requires special packaging, so we have to treat this target separately
10-
set_target_properties(life PROPERTIES MACOSX_BUNDLE YES)
11-
set_target_properties(life PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/iOS/Info.plist")
12-
target_sources(life PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard)
13-
target_sources(life PRIVATE iOS/libcxx_tmp_stubs.cpp)
14-
set_target_properties(life PROPERTIES RESOURCE "${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard")
15-
set_target_properties(life PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
14+
set_target_properties(${PROJECT_ID} PROPERTIES MACOSX_BUNDLE YES)
15+
set_target_properties(${PROJECT_ID} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/iOS/Info.plist")
16+
target_sources(${PROJECT_ID} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard)
17+
target_sources(${PROJECT_ID} PRIVATE iOS/libcxx_tmp_stubs.cpp)
18+
set_target_properties(${PROJECT_ID} PROPERTIES RESOURCE "${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard")
19+
set_target_properties(${PROJECT_ID} PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
1620
endif()

P0267_RefImpl/Samples/maps/CMakeLists.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ endif()
1616

1717
add_subdirectory(external/pugixml)
1818

19-
project(maps)
20-
add_executable(maps
19+
# Use the CMakeLists.txt's parent-directory-name for the project's id/name
20+
get_filename_component(PROJECT_ID ${CMAKE_CURRENT_SOURCE_DIR} NAME)
21+
string(REPLACE " " "_" PROJECT_ID ${PROJECT_ID})
22+
project(${PROJECT_ID})
23+
24+
add_executable(${PROJECT_ID}
2125
main.cpp
2226
model.cpp
2327
model.h
@@ -27,21 +31,21 @@ add_executable(maps
2731
http.h
2832
)
2933

30-
target_link_libraries(maps
34+
target_link_libraries(${PROJECT_ID}
3135
io2d
3236
pugixml
3337
${Boost_LIBRARIES}
3438
${OPENSSL_LIBRARIES}
3539
)
36-
target_include_directories(maps SYSTEM
40+
target_include_directories(${PROJECT_ID} SYSTEM
3741
PRIVATE ${Boost_INCLUDE_DIRS}
3842
PRIVATE ${OPENSSL_INCLUDE_DIR}
3943
)
4044

4145
if( ${CMAKE_SYSTEM_NAME} MATCHES "Linux" )
42-
target_link_libraries(maps pthread)
46+
target_link_libraries(${PROJECT_ID} pthread)
4347
endif()
4448

4549
if(MSVC)
46-
target_compile_options(maps PUBLIC /D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING /wd4459)
50+
target_compile_options(${PROJECT_ID} PUBLIC /D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING /wd4459)
4751
endif()

P0267_RefImpl/Samples/rocks_in_space/CMakeLists.txt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
cmake_minimum_required(VERSION 3.0.0)
2-
project(io2d CXX)
3-
42
set(CMAKE_CXX_STANDARD 17)
53

4+
# Use the CMakeLists.txt's parent-directory-name for the project's id/name
5+
get_filename_component(PROJECT_ID ${CMAKE_CURRENT_SOURCE_DIR} NAME)
6+
string(REPLACE " " "_" PROJECT_ID ${PROJECT_ID})
7+
project(${PROJECT_ID})
8+
69
set(ROCKS_IN_SPACE_SRC
710
Asteroid.h
811
Asteroid.cpp
@@ -39,15 +42,15 @@ else()
3942
return()
4043
endif()
4144

42-
add_executable(rocks_in_space ${EXECUTABLE_FLAGS} ${ROCKS_IN_SPACE_SRC})
45+
add_executable(${PROJECT_ID} ${EXECUTABLE_FLAGS} ${ROCKS_IN_SPACE_SRC})
4346

44-
target_link_libraries(rocks_in_space io2d)
47+
target_link_libraries(${PROJECT_ID} io2d)
4548

4649
if( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
47-
target_link_libraries(rocks_in_space "-framework CoreFoundation")
48-
target_link_libraries(rocks_in_space "-framework CoreGraphics")
50+
target_link_libraries(${PROJECT_ID} "-framework CoreFoundation")
51+
target_link_libraries(${PROJECT_ID} "-framework CoreGraphics")
4952
endif()
5053

51-
install(TARGETS rocks_in_space
54+
install(TARGETS ${PROJECT_ID}
5255
RUNTIME DESTINATION ${CMAKE_BINARY_DIR}/samples
5356
)
Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,33 @@
11
cmake_minimum_required(VERSION 3.0.0)
22
set(CMAKE_CXX_STANDARD 17)
3-
project(sprites)
4-
add_executable(sprites main.cpp)
5-
target_link_libraries(sprites io2d)
63

7-
add_custom_command( TARGET sprites POST_BUILD
8-
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/cat.jpg" "$<TARGET_FILE_DIR:sprites>/cat.jpg"
4+
# Use the CMakeLists.txt's parent-directory-name for the project's id/name
5+
get_filename_component(PROJECT_ID ${CMAKE_CURRENT_SOURCE_DIR} NAME)
6+
string(REPLACE " " "_" PROJECT_ID ${PROJECT_ID})
7+
project(${PROJECT_ID})
8+
9+
add_executable(${PROJECT_ID} main.cpp)
10+
target_link_libraries(${PROJECT_ID} io2d)
11+
12+
add_custom_command( TARGET ${PROJECT_ID} POST_BUILD
13+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/cat.jpg" "$<TARGET_FILE_DIR:${PROJECT_ID}>/cat.jpg"
914
)
1015

1116
if(MSVC)
12-
set_target_properties(sprites PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$(Configuration)")
17+
set_target_properties(${PROJECT_ID} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$(Configuration)")
1318
endif()
1419

1520
if( DEFINED IOS_PLATFORM )
1621
# iOS requires special packaging, so we have to treat this target separately
17-
set_target_properties(sprites PROPERTIES MACOSX_BUNDLE YES)
18-
set_target_properties(sprites PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/iOS/Info.plist")
19-
target_sources(sprites PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard)
20-
target_sources(sprites PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/cat.jpg)
21-
target_sources(sprites PRIVATE iOS/libcxx_tmp_stubs.cpp)
22+
set_target_properties(${PROJECT_ID} PROPERTIES MACOSX_BUNDLE YES)
23+
set_target_properties(${PROJECT_ID} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/iOS/Info.plist")
24+
target_sources(${PROJECT_ID} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard)
25+
target_sources(${PROJECT_ID} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/cat.jpg)
26+
target_sources(${PROJECT_ID} PRIVATE iOS/libcxx_tmp_stubs.cpp)
2227
set(SPRITES_RESOURCES
2328
"${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard"
2429
"${CMAKE_CURRENT_SOURCE_DIR}/cat.jpg"
2530
)
26-
set_target_properties(sprites PROPERTIES RESOURCE "${SPRITES_RESOURCES}")
27-
set_target_properties(sprites PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
31+
set_target_properties(${PROJECT_ID} PROPERTIES RESOURCE "${SPRITES_RESOURCES}")
32+
set_target_properties(${PROJECT_ID} PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
2833
endif()

P0267_RefImpl/Samples/svg/CMakeLists.txt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
cmake_minimum_required(VERSION 3.0.0)
2-
project(io2d CXX)
3-
42
set(CMAKE_CXX_STANDARD 17)
53

4+
# Use the CMakeLists.txt's parent-directory-name for the project's id/name
5+
get_filename_component(PROJECT_ID ${CMAKE_CURRENT_SOURCE_DIR} NAME)
6+
string(REPLACE " " "_" PROJECT_ID ${PROJECT_ID})
7+
project(${PROJECT_ID})
8+
69
find_package(Boost QUIET)
710
if( NOT Boost_FOUND )
811
message( "Skipping the SVG example since Boost was not found" )
@@ -17,7 +20,7 @@ if( MSVC )
1720
endif()
1821
endif()
1922

20-
add_executable(svg
23+
add_executable(${PROJECT_ID}
2124
main.cpp
2225
svg.h
2326
svg.cpp
@@ -26,19 +29,19 @@ add_executable(svg
2629
)
2730

2831
if(MSVC)
29-
target_compile_options(svg PUBLIC /bigobj /D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING /wd4459 /wd4702)
32+
target_compile_options(${PROJECT_ID} PUBLIC /bigobj /D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING /wd4459 /wd4702)
3033
endif()
3134

32-
target_link_libraries(svg io2d)
33-
target_include_directories(svg
35+
target_link_libraries(${PROJECT_ID} io2d)
36+
target_include_directories(${PROJECT_ID}
3437
PRIVATE external/svgpp/include
3538
PRIVATE external
3639
)
37-
target_include_directories(svg SYSTEM
40+
target_include_directories(${PROJECT_ID} SYSTEM
3841
PRIVATE ${Boost_INCLUDE_DIRS}
3942
)
4043

41-
install(TARGETS svg
44+
install(TARGETS ${PROJECT_ID}
4245
RUNTIME DESTINATION ${CMAKE_BINARY_DIR}/samples
4346
)
4447
install(FILES example.svg

0 commit comments

Comments
 (0)