|
@@ -167,6 +167,38 @@ macro (setup_executable)
|
|
|
endif ()
|
|
endif ()
|
|
|
endmacro ()
|
|
endmacro ()
|
|
|
|
|
|
|
|
|
|
+# Macro for setting up an executable target with resources to copy
|
|
|
|
|
+macro (setup_main_executable)
|
|
|
|
|
+ # Define resource files
|
|
|
|
|
+ if (APPLE)
|
|
|
|
|
+ set (RESOURCE_FILES ${PROJECT_BINARY_DIR}/Bin/CoreData ${PROJECT_BINARY_DIR}/Bin/Data)
|
|
|
|
|
+ set_source_files_properties(${RESOURCE_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
|
|
|
+ set (SOURCE_FILES ${SOURCE_FILES} ${RESOURCE_FILES})
|
|
|
|
|
+ endif ()
|
|
|
|
|
+
|
|
|
|
|
+ # Setup target
|
|
|
|
|
+ if (WIN32)
|
|
|
|
|
+ set (EXE_TYPE WIN32)
|
|
|
|
|
+ elseif (IOS)
|
|
|
|
|
+ set (CMAKE_EXE_LINKER_FLAGS "-framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework Foundation -framework OpenGLES -framework QuartzCore -framework UIKit")
|
|
|
|
|
+ set (EXE_TYPE MACOSX_BUNDLE)
|
|
|
|
|
+ elseif (APPLE)
|
|
|
|
|
+ set (CMAKE_EXE_LINKER_FLAGS "-framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework ForceFeedback -framework IOKit -framework OpenGL -framework CoreServices")
|
|
|
|
|
+ endif ()
|
|
|
|
|
+ setup_executable ()
|
|
|
|
|
+
|
|
|
|
|
+ # Define a custom target to check for resource modification
|
|
|
|
|
+ if (IOS)
|
|
|
|
|
+ get_target_property (TARGET_LOC ${TARGET_NAME} LOCATION)
|
|
|
|
|
+ string (REGEX REPLACE "/Contents/MacOS" "" TARGET_LOC ${TARGET_LOC}) # The regex replacement is temporary workaround to correct the wrong location caused by CMake/Xcode generator bug
|
|
|
|
|
+ add_custom_target (RESOURCE_CHECK ALL
|
|
|
|
|
+ \(\( `find ${RESOURCE_FILES} -newer ${TARGET_LOC} 2>/dev/null |wc -l` \)\) && touch -cm ${SOURCE_FILES} || exit 0
|
|
|
|
|
+ COMMENT "This is a dummy target to check for changes in the Resource folders"
|
|
|
|
|
+ )
|
|
|
|
|
+ add_dependencies (${TARGET_NAME} RESOURCE_CHECK)
|
|
|
|
|
+ endif ()
|
|
|
|
|
+endmacro ()
|
|
|
|
|
+
|
|
|
# Macro for setting up a library target
|
|
# Macro for setting up a library target
|
|
|
macro (setup_library)
|
|
macro (setup_library)
|
|
|
add_library (${TARGET_NAME} STATIC ${SOURCE_FILES})
|
|
add_library (${TARGET_NAME} STATIC ${SOURCE_FILES})
|