|
1 | 1 | cmake_minimum_required(VERSION 3.0.0) |
2 | 2 | set(CMAKE_CXX_STANDARD 17) |
3 | | -project(sprites) |
4 | | -add_executable(sprites main.cpp) |
5 | | -target_link_libraries(sprites io2d) |
6 | 3 |
|
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" |
9 | 14 | ) |
10 | 15 |
|
11 | 16 | 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)") |
13 | 18 | endif() |
14 | 19 |
|
15 | 20 | if( DEFINED IOS_PLATFORM ) |
16 | 21 | # 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) |
22 | 27 | set(SPRITES_RESOURCES |
23 | 28 | "${CMAKE_CURRENT_SOURCE_DIR}/iOS/LaunchScreen.storyboard" |
24 | 29 | "${CMAKE_CURRENT_SOURCE_DIR}/cat.jpg" |
25 | 30 | ) |
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") |
28 | 33 | endif() |
0 commit comments