summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMake/fl_create_example.cmake38
-rw-r--r--fluid/CMakeLists.txt18
2 files changed, 34 insertions, 22 deletions
diff --git a/CMake/fl_create_example.cmake b/CMake/fl_create_example.cmake
index 84f726d91..9d6360215 100644
--- a/CMake/fl_create_example.cmake
+++ b/CMake/fl_create_example.cmake
@@ -103,26 +103,6 @@ macro (CREATE_EXAMPLE NAME SOURCES LIBRARIES)
endif (MAC_BUNDLE AND ICON_NAME)
##############################################################################
- # copy macOS "bundle wrapper" (shell script) to target (bin) directory
- ##############################################################################
- # (1) file (COPY ...) to set execution permissions
- # (2) file (RENAME ...) to move the file to its final place
- ##############################################################################
-
- if (MAC_BUNDLE)
- file (COPY
- ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/macOS-bundle-wrapper.in
- DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
- FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
- GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
- )
- file (RENAME
- ${CMAKE_CURRENT_BINARY_DIR}/macOS-bundle-wrapper.in
- ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME}
- )
- endif (MAC_BUNDLE)
-
- ##############################################################################
# add executable target and set properties (all platforms)
##############################################################################
@@ -139,6 +119,24 @@ macro (CREATE_EXAMPLE NAME SOURCES LIBRARIES)
set_target_properties (${TARGET_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/${PLIST}")
endif (PLIST)
+ ##############################################################################
+ # Copy macOS "bundle wrapper" (shell script) to target directory.
+ # The "custom command" will be executed "POST_BUILD".
+ ##############################################################################
+
+ if (MAC_BUNDLE)
+ set (WRAPPER "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/${TARGET_NAME}")
+ add_custom_command (
+ TARGET ${TARGET_NAME} POST_BUILD
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/macOS-bundle-wrapper.in ${WRAPPER}
+ COMMAND chmod u+x,g+x,o+x ${WRAPPER}
+ BYPRODUCTS ${WRAPPER}
+ # COMMENT "Creating macOS bundle wrapper script ${WRAPPER}"
+ VERBATIM
+ )
+ unset (WRAPPER)
+ endif (MAC_BUNDLE)
+
######################################################################
# Parse optional fourth argument "ANDROID_OK", see description above.
######################################################################
diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt
index 30b105891..cbe04353a 100644
--- a/fluid/CMakeLists.txt
+++ b/fluid/CMakeLists.txt
@@ -49,9 +49,23 @@ endif (WIN32)
if (APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL))
set (ICON_NAME fluid.icns)
set (ICON_PATH "${PROJECT_SOURCE_DIR}/fluid/fluid.app/Contents/Resources/${ICON_NAME}")
- add_executable(fluid MACOSX_BUNDLE ${CPPFILES} ${ICON_PATH})
+ add_executable (fluid MACOSX_BUNDLE ${CPPFILES} ${ICON_PATH})
+
+ # create macOS bundle wrapper script
+
+ set (WRAPPER "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/fluid")
+ add_custom_command (
+ TARGET fluid POST_BUILD
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/macOS-bundle-wrapper.in ${WRAPPER}
+ COMMAND chmod u+x,g+x,o+x ${WRAPPER}
+ BYPRODUCTS ${WRAPPER}
+ # COMMENT "Creating macOS bundle wrapper script ${WRAPPER}"
+ VERBATIM
+ )
+ unset (WRAPPER)
+
else ()
- add_executable(fluid WIN32 ${CPPFILES})
+ add_executable (fluid WIN32 ${CPPFILES})
endif (APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL))
target_link_libraries(fluid fltk fltk_images fltk_forms)