summaryrefslogtreecommitdiff
path: root/indra/llplugin/slplugin/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llplugin/slplugin/CMakeLists.txt')
-rwxr-xr-x[-rw-r--r--]indra/llplugin/slplugin/CMakeLists.txt52
1 files changed, 45 insertions, 7 deletions
diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt
index 4a7d670c23..6e7fefeb21 100644..100755
--- a/indra/llplugin/slplugin/CMakeLists.txt
+++ b/indra/llplugin/slplugin/CMakeLists.txt
@@ -12,10 +12,13 @@ include_directories(
${LLMESSAGE_INCLUDE_DIRS}
${LLCOMMON_INCLUDE_DIRS}
)
+include_directories(SYSTEM
+ ${LLCOMMON_SYSTEM_INCLUDE_DIRS}
+ )
if (DARWIN)
include(CMakeFindFrameworks)
- find_library(CARBON_LIBRARY Carbon)
+ find_library(COCOA_LIBRARY Cocoa)
endif (DARWIN)
@@ -25,11 +28,40 @@ set(SLPlugin_SOURCE_FILES
slplugin.cpp
)
+if (DARWIN)
+ list(APPEND SLPlugin_SOURCE_FILES
+ slplugin-objc.mm
+ )
+ list(APPEND SLPlugin_HEADER_FILES
+ slplugin-objc.h
+ )
+endif (DARWIN)
+
+set_source_files_properties(${SLPlugin_HEADER_FILES}
+ PROPERTIES HEADER_FILE_ONLY TRUE)
+
+if (SLPlugin_HEADER_FILES)
+ list(APPEND SLPlugin_SOURCE_FILES ${SLPlugin_HEADER_FILES})
+endif (SLPlugin_HEADER_FILES)
+
add_executable(SLPlugin
WIN32
+ MACOSX_BUNDLE
${SLPlugin_SOURCE_FILES}
)
+if (WINDOWS)
+set_target_properties(SLPlugin
+ PROPERTIES
+ LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMTD\""
+ )
+else ()
+set_target_properties(SLPlugin
+ PROPERTIES
+ MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/slplugin_info.plist
+ )
+endif ()
+
target_link_libraries(SLPlugin
${LLPLUGIN_LIBRARIES}
${LLMESSAGE_LIBRARIES}
@@ -44,12 +76,18 @@ add_dependencies(SLPlugin
)
if (DARWIN)
- # Mac version needs to link against carbon, and also needs an embedded plist (to set LSBackgroundOnly)
- target_link_libraries(SLPlugin ${CARBON_LIBRARY})
- set_target_properties(
- SLPlugin
- PROPERTIES
- LINK_FLAGS "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/slplugin_info.plist"
+ # Mac version needs to link against Carbon
+ target_link_libraries(SLPlugin ${COCOA_LIBRARY})
+ # Make sure the app bundle has a Resources directory (it will get populated by viewer-manifest.py later)
+ add_custom_command(
+ TARGET SLPlugin POST_BUILD
+ COMMAND mkdir
+ ARGS
+ -p
+ ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/SLPlugin.app/Contents/Resources
)
endif (DARWIN)
+if (LL_TESTS)
+ ll_deploy_sharedlibs_command(SLPlugin)
+endif (LL_TESTS)