From 38594fff9eb2f1dec89ccf3e1fea3d7a2698da23 Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 5 May 2014 18:57:30 +0200 Subject: [PATCH 1/9] Export libobs cmake target, so external plugins can be built without ugly hacks --- cmake/Modules/ObsHelpers.cmake | 55 ++++++++++++++++++++++++-- libobs/CMakeLists.txt | 22 ++++++----- libobs/LibObsConfig.cmake.in | 13 ++++++ libobs/LibObsConfigVersion.cmake.in | 10 +++++ libobs/obs-config.h | 4 +- libobs/{config.h.in => obsconfig.h.in} | 0 6 files changed, 90 insertions(+), 14 deletions(-) create mode 100644 libobs/LibObsConfig.cmake.in create mode 100644 libobs/LibObsConfigVersion.cmake.in rename libobs/{config.h.in => obsconfig.h.in} (100%) diff --git a/cmake/Modules/ObsHelpers.cmake b/cmake/Modules/ObsHelpers.cmake index 0fe2d9f70..3a668a08d 100644 --- a/cmake/Modules/ObsHelpers.cmake +++ b/cmake/Modules/ObsHelpers.cmake @@ -55,6 +55,8 @@ if(NOT UNIX_STRUCTURE) set(OBS_PLUGIN64_DESTINATION "obs-plugins/64bit") add_definitions(-DOBS_DATA_PATH="../../${OBS_DATA_DESTINATION}") endif() + set(OBS_CMAKE_DESTINATION "cmake") + set(OBS_INCLUDE_DESTINATION "include") else() set(OBS_EXECUTABLE_DESTINATION "bin") set(OBS_EXECUTABLE32_DESTINATION "bin32") @@ -66,6 +68,8 @@ else() set(OBS_PLUGIN32_DESTINATION "lib32/obs-plugins") set(OBS_PLUGIN64_DESTINATION "lib64/obs-plugins") set(OBS_DATA_DESTINATION "share/obs") + set(OBS_CMAKE_DESTINATION "lib/cmake") + set(OBS_INCLUDE_DESTINATION "include/obs") add_definitions(-DOBS_DATA_PATH="${OBS_DATA_DESTINATION}") add_definitions(-DOBS_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}/") endif() @@ -137,6 +141,46 @@ function(obs_install_additional) endif() endfunction() +macro(export_obs_core target exportname) + install(TARGETS ${target} + EXPORT "${exportname}Target" + LIBRARY DESTINATION "${OBS_LIBRARY_DESTINATION}" + RUNTIME DESTINATION "${OBS_EXECUTABLE_DESTINATION}") + + export(TARGETS ${target} FILE "${CMAKE_CURRENT_BINARY_DIR}/${exportname}Target.cmake") + export(PACKAGE "${exportname}") + + set(CONF_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}") + configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}Config.cmake" @ONLY) + + set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${OBS_INCLUDE_DESTINATION}") + configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${exportname}Config.cmake" @ONLY) + + configure_file("${exportname}ConfigVersion.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}ConfigVersion.cmake" @ONLY) + + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${exportname}Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${exportname}ConfigVersion.cmake" + DESTINATION "${OBS_CMAKE_DESTINATION}/${exportname}") + + install(EXPORT "${exportname}Target" + DESTINATION "${OBS_CMAKE_DESTINATION}/${exportname}") +endmacro() + +macro(install_obs_headers) + foreach(hdr ${ARGN}) + if("${hdr}" MATCHES "^/.*$") + set(subdir) + else() + get_filename_component(subdir "${hdr}" DIRECTORY) + if(subdir) + set(subdir "/${subdir}") + endif() + endif() + install(FILES "${hdr}" DESTINATION "${OBS_INCLUDE_DESTINATION}${subdir}") + endforeach() +endmacro() + macro(install_obs_core target) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(_bit_suffix "64bit/") @@ -148,9 +192,14 @@ macro(install_obs_core target) set(_bit_suffix "") endif() - install(TARGETS ${target} - LIBRARY DESTINATION "${OBS_LIBRARY_DESTINATION}" - RUNTIME DESTINATION "${OBS_EXECUTABLE_DESTINATION}") + if("${ARGV1}" STREQUAL "EXPORT") + export_obs_core("${target}" "${ARGV2}") + else() + install(TARGETS ${target} + LIBRARY DESTINATION "${OBS_LIBRARY_DESTINATION}" + RUNTIME DESTINATION "${OBS_EXECUTABLE_DESTINATION}") + endif() + add_custom_command(TARGET ${target} POST_BUILD COMMAND "${CMAKE_COMMAND}" -E copy "$" diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt index e0cba7118..6f8b87cfc 100644 --- a/libobs/CMakeLists.txt +++ b/libobs/CMakeLists.txt @@ -59,11 +59,11 @@ if(MSVC) endif() configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" - "${CMAKE_BINARY_DIR}/config/config.h") + "${CMAKE_CURRENT_SOURCE_DIR}/obsconfig.h.in" + "${CMAKE_BINARY_DIR}/config/obsconfig.h") set(libobs_config_HEADERS - config.h + "${CMAKE_BINARY_DIR}/config/obsconfig.h" obs-config.h) set(libobs_callback_SOURCES @@ -203,6 +203,7 @@ set(libobs_SOURCES ${libobs_libobs_SOURCES}) set(libobs_HEADERS + ${libobs_config_HEADERS} ${libobs_callback_HEADERS} ${libobs_graphics_HEADERS} ${libobs_mediaio_HEADERS} @@ -225,13 +226,16 @@ set_target_properties(libobs PROPERTIES OUTPUT_NAME obs VERSION "0" SOVERSION "0") +target_compile_definitions(libobs PUBLIC HAVE_OBSCONFIG_H) target_link_libraries(libobs - jansson - ${libobs_PLATFORM_DEPS} - ${Libswscale_LIBRARIES} - ${Libswresample_LIBRARIES} - ${Libavutil_LIBRARIES}) + PRIVATE + jansson + ${libobs_PLATFORM_DEPS} + ${Libswscale_LIBRARIES} + ${Libswresample_LIBRARIES} + ${Libavutil_LIBRARIES}) -install_obs_core(libobs) +install_obs_core(libobs EXPORT LibObs) install_obs_data(libobs ../build/data/libobs libobs) +install_obs_headers(${libobs_HEADERS}) diff --git a/libobs/LibObsConfig.cmake.in b/libobs/LibObsConfig.cmake.in new file mode 100644 index 000000000..9f15bee9c --- /dev/null +++ b/libobs/LibObsConfig.cmake.in @@ -0,0 +1,13 @@ +# - Config file for the LibObs package +# It defines the following variables +# LIBOBS_INCLUDE_DIRS +# LIBOBS_LIBRARIES + +set(LIBOBS_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") + +if(NOT TARGET libobs) + include("${CMAKE_CURRENT_LIST_DIR}/LibObsTarget.cmake") +endif() + +set(LIBOBS_LIBRARIES libobs) + diff --git a/libobs/LibObsConfigVersion.cmake.in b/libobs/LibObsConfigVersion.cmake.in new file mode 100644 index 000000000..269b37406 --- /dev/null +++ b/libobs/LibObsConfigVersion.cmake.in @@ -0,0 +1,10 @@ +set(PACKAGE_VERSION "@OBS_VERSION@") + +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() diff --git a/libobs/obs-config.h b/libobs/obs-config.h index 0250b2480..4f304fb65 100644 --- a/libobs/obs-config.h +++ b/libobs/obs-config.h @@ -17,8 +17,8 @@ #pragma once -#ifdef HAVE_CONFIG_H -# include "config.h" +#ifdef HAVE_OBSCONFIG_H +# include "obsconfig.h" #else #define OBS_VERSION "unknown" diff --git a/libobs/config.h.in b/libobs/obsconfig.h.in similarity index 100% rename from libobs/config.h.in rename to libobs/obsconfig.h.in From ce542525fca5cdddf076a89320badc44f803ecc0 Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 5 May 2014 19:07:42 +0200 Subject: [PATCH 2/9] Fix dependency on win32-pthreads --- deps/CMakeLists.txt | 5 +---- deps/w32-pthreads/CMakeLists.txt | 4 ++++ libobs/CMakeLists.txt | 2 -- plugins/obs-ffmpeg/CMakeLists.txt | 6 ++++++ plugins/obs-outputs/CMakeLists.txt | 1 + test/test-input/CMakeLists.txt | 3 +++ 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 860dee2c5..d61f0b9d5 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -1,7 +1,4 @@ -if(WIN32) - add_subdirectory(w32-pthreads) -endif() - +add_subdirectory(w32-pthreads) add_subdirectory(glad) add_subdirectory(jansson) diff --git a/deps/w32-pthreads/CMakeLists.txt b/deps/w32-pthreads/CMakeLists.txt index b73e59e85..497d5abd6 100644 --- a/deps/w32-pthreads/CMakeLists.txt +++ b/deps/w32-pthreads/CMakeLists.txt @@ -1,5 +1,9 @@ project(w32-pthreads) +if(NOT WIN32) + return() +endif() + set(w32-pthreads_SOURCES pthread.c) diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt index 6f8b87cfc..df029d50f 100644 --- a/libobs/CMakeLists.txt +++ b/libobs/CMakeLists.txt @@ -26,8 +26,6 @@ if(WIN32) set(libobs_PLATFORM_DEPS w32-pthreads winmm.lib) - - add_definitions(-DPTW32_STATIC_LIB) elseif(APPLE) set(libobs_PLATFORM_SOURCES obs-cocoa.c diff --git a/plugins/obs-ffmpeg/CMakeLists.txt b/plugins/obs-ffmpeg/CMakeLists.txt index e4ccf7c11..a507ae0d2 100644 --- a/plugins/obs-ffmpeg/CMakeLists.txt +++ b/plugins/obs-ffmpeg/CMakeLists.txt @@ -1,5 +1,10 @@ project(obs-ffmpeg) +if(WIN32) + set(obs-ffmpeg_PLATFORM_DEPS + w32-pthreads) +endif() + find_package(Libavcodec REQUIRED) include_directories(${Libavcodec_INCLUDE_DIR}) add_definitions(${Libavcodec_DEFINITIONS}) @@ -32,6 +37,7 @@ add_library(obs-ffmpeg MODULE ${obs-ffmpeg_SOURCES}) target_link_libraries(obs-ffmpeg libobs + ${obs-ffmpeg_PLATFORM_DEPS} ${Libavcodec_LIBRARIES} ${Libavutil_LIBRARIES} ${Libswscale_LIBRARIES} diff --git a/plugins/obs-outputs/CMakeLists.txt b/plugins/obs-outputs/CMakeLists.txt index b3954bf1a..f212a26cb 100644 --- a/plugins/obs-outputs/CMakeLists.txt +++ b/plugins/obs-outputs/CMakeLists.txt @@ -2,6 +2,7 @@ project(obs-outputs) if(WIN32) set(obs-outputs_PLATFORM_DEPS + w32-pthreads ws2_32.lib winmm.lib) endif() diff --git a/test/test-input/CMakeLists.txt b/test/test-input/CMakeLists.txt index 2b07e76f4..ee3e60e20 100644 --- a/test/test-input/CMakeLists.txt +++ b/test/test-input/CMakeLists.txt @@ -21,6 +21,9 @@ if(APPLE) set(test-input_PLATFORM_DEPS ${IOSURF} ${COCOA}) +elseif(WIN32) + set(test-input_PLATFORM_DEPS + w32-pthreads) endif() set(test-input_SOURCES From 3e224b97502f4eef7390badd917cce46c75a0eaa Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 5 May 2014 19:52:58 +0200 Subject: [PATCH 3/9] Fix mav-avcapture dependencies --- plugins/mac-avcapture/CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/mac-avcapture/CMakeLists.txt b/plugins/mac-avcapture/CMakeLists.txt index 53a7148a2..107e00427 100644 --- a/plugins/mac-avcapture/CMakeLists.txt +++ b/plugins/mac-avcapture/CMakeLists.txt @@ -5,13 +5,14 @@ find_library(COCOA Cocoa) find_library(COREFOUNDATION CoreFoundation) find_library(COREMEDIA CoreMedia) find_library(COREVIDEO CoreVideo) - +find_library(COCOA Cocoa) include_directories(${AVFOUNDATION} ${COCOA} ${COREFOUNDATION} ${COREMEDIA} - ${COREVIDEO}) + ${COREVIDEO} + ${COCOA}) set(mac-avcapture_HEADERS ) @@ -33,6 +34,8 @@ target_link_libraries(mac-avcapture ${COCOA} ${COREFOUNDATION} ${COREMEDIA} - ${COREVIDEO}) + ${COREVIDEO} + ${COCOA}) install_obs_plugin(mac-avcapture) + From 4959db83d4e7fd98276f3d4290ce7c63f3b1d232 Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 5 May 2014 20:13:14 +0200 Subject: [PATCH 4/9] Fix absolute path detection --- cmake/Modules/ObsHelpers.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/ObsHelpers.cmake b/cmake/Modules/ObsHelpers.cmake index 3a668a08d..0c0aeda45 100644 --- a/cmake/Modules/ObsHelpers.cmake +++ b/cmake/Modules/ObsHelpers.cmake @@ -169,7 +169,7 @@ endmacro() macro(install_obs_headers) foreach(hdr ${ARGN}) - if("${hdr}" MATCHES "^/.*$") + if("${hdr}" MATCHES "^(/|[a-zA-Z]:[/\\\\]).*$") set(subdir) else() get_filename_component(subdir "${hdr}" DIRECTORY) From 7abf95be27c2cbdd255a0902d724cb1193325d84 Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 5 May 2014 20:33:36 +0200 Subject: [PATCH 5/9] Use relative path in installed cmake file --- cmake/Modules/ObsHelpers.cmake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/ObsHelpers.cmake b/cmake/Modules/ObsHelpers.cmake index 0c0aeda45..09f833dc2 100644 --- a/cmake/Modules/ObsHelpers.cmake +++ b/cmake/Modules/ObsHelpers.cmake @@ -145,6 +145,7 @@ macro(export_obs_core target exportname) install(TARGETS ${target} EXPORT "${exportname}Target" LIBRARY DESTINATION "${OBS_LIBRARY_DESTINATION}" + ARCHIVE DESTINATION "${OBS_LIBRARY_DESTINATION}" RUNTIME DESTINATION "${OBS_EXECUTABLE_DESTINATION}") export(TARGETS ${target} FILE "${CMAKE_CURRENT_BINARY_DIR}/${exportname}Target.cmake") @@ -153,9 +154,12 @@ macro(export_obs_core target exportname) set(CONF_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}") configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}Config.cmake" @ONLY) - set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${OBS_INCLUDE_DESTINATION}") + file(RELATIVE_PATH _pinclude_dir "${CMAKE_INSTALL_PREFIX}/${OBS_CMAKE_DESTINATION}/${exportname}" "${CMAKE_INSTALL_PREFIX}/${OBS_INCLUDE_DESTINATION}") + set(CONF_INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/${_pinclude_dir}") configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${exportname}Config.cmake" @ONLY) + set(_pinclude_dir) + configure_file("${exportname}ConfigVersion.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}ConfigVersion.cmake" @ONLY) install(FILES @@ -169,7 +173,7 @@ endmacro() macro(install_obs_headers) foreach(hdr ${ARGN}) - if("${hdr}" MATCHES "^(/|[a-zA-Z]:[/\\\\]).*$") + if(IS_ABSOLUTE "${hdr}") set(subdir) else() get_filename_component(subdir "${hdr}" DIRECTORY) From b5743a1b780bb55ada0b9d535a5ecf61bf38acae Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 5 May 2014 21:07:01 +0200 Subject: [PATCH 6/9] Make include path more pretty --- libobs/LibObsConfig.cmake.in | 1 + 1 file changed, 1 insertion(+) diff --git a/libobs/LibObsConfig.cmake.in b/libobs/LibObsConfig.cmake.in index 9f15bee9c..7c3a04faa 100644 --- a/libobs/LibObsConfig.cmake.in +++ b/libobs/LibObsConfig.cmake.in @@ -4,6 +4,7 @@ # LIBOBS_LIBRARIES set(LIBOBS_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") +get_filename_component(LIBOBS_INCLUDE_DIRS "${LIBOBS_INCLUDE_DIRS}" ABSOLUTE) if(NOT TARGET libobs) include("${CMAKE_CURRENT_LIST_DIR}/LibObsTarget.cmake") From 34923f1f83db8273e2ed1d580b64153600fd1d1a Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 5 May 2014 21:52:36 +0200 Subject: [PATCH 7/9] Also export a plugin destination, so external plugins know where to install stuff --- cmake/Modules/ObsHelpers.cmake | 12 +++++++++--- libobs/LibObsConfig.cmake.in | 9 +++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/cmake/Modules/ObsHelpers.cmake b/cmake/Modules/ObsHelpers.cmake index 09f833dc2..14aa75868 100644 --- a/cmake/Modules/ObsHelpers.cmake +++ b/cmake/Modules/ObsHelpers.cmake @@ -152,13 +152,19 @@ macro(export_obs_core target exportname) export(PACKAGE "${exportname}") set(CONF_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}") + set(CONF_PLUGIN_DEST "${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE}/obs-plugins/${_lib_suffix}bit") + set(CONF_PLUGIN_DEST32 "${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE}/obs-plugins/32bit") + set(CONF_PLUGIN_DEST64 "${CMAKE_BINARY_DIR}/rundir/${CMAKE_BUILD_TYPE}/obs-plugins/64bit") configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}Config.cmake" @ONLY) - file(RELATIVE_PATH _pinclude_dir "${CMAKE_INSTALL_PREFIX}/${OBS_CMAKE_DESTINATION}/${exportname}" "${CMAKE_INSTALL_PREFIX}/${OBS_INCLUDE_DESTINATION}") - set(CONF_INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/${_pinclude_dir}") + file(RELATIVE_PATH _pdir "${CMAKE_INSTALL_PREFIX}/${OBS_CMAKE_DESTINATION}/${exportname}" "${CMAKE_INSTALL_PREFIX}") + set(CONF_INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_INCLUDE_DESTINATION}") + set(CONF_PLUGIN_DEST "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_PLUGIN_DESTINATION}") + set(CONF_PLUGIN_DEST32 "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_PLUGIN32_DESTINATION}") + set(CONF_PLUGIN_DEST64 "\${CMAKE_CURRENT_LIST_DIR}/${_pdir}${OBS_PLUGIN64_DESTINATION}") configure_file("${exportname}Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${exportname}Config.cmake" @ONLY) - set(_pinclude_dir) + set(_pdir) configure_file("${exportname}ConfigVersion.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${exportname}ConfigVersion.cmake" @ONLY) diff --git a/libobs/LibObsConfig.cmake.in b/libobs/LibObsConfig.cmake.in index 7c3a04faa..1ff6c9afa 100644 --- a/libobs/LibObsConfig.cmake.in +++ b/libobs/LibObsConfig.cmake.in @@ -2,8 +2,17 @@ # It defines the following variables # LIBOBS_INCLUDE_DIRS # LIBOBS_LIBRARIES +# LIBOBS_PLUGIN_DESTINATION{,32,64} +set(LIBOBS_PLUGIN_DESTINATION "@CONF_PLUGIN_DEST@") +set(LIBOBS_PLUGIN_DESTINATION32 "@CONF_PLUGIN_DEST32@") +set(LIBOBS_PLUGIN_DESTINATION64 "@CONF_PLUGIN_DEST64@") set(LIBOBS_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") + +# Cleanup possible relative paths +get_filename_component(LIBOBS_PLUGIN_DESTINATION "${LIBOBS_PLUGIN_DESTINATION}" ABSOLUTE) +get_filename_component(LIBOBS_PLUGIN_DESTINATION32 "${LIBOBS_PLUGIN_DESTINATION32}" ABSOLUTE) +get_filename_component(LIBOBS_PLUGIN_DESTINATION64 "${LIBOBS_PLUGIN_DESTINATION64}" ABSOLUTE) get_filename_component(LIBOBS_INCLUDE_DIRS "${LIBOBS_INCLUDE_DIRS}" ABSOLUTE) if(NOT TARGET libobs) From 6a63e4fecc6feef6914842fc8cb6a26a4ee63429 Mon Sep 17 00:00:00 2001 From: BtbN Date: Wed, 7 May 2014 23:36:45 +0200 Subject: [PATCH 8/9] Fix cpack problem --- cmake/Modules/ObsCpack.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/Modules/ObsCpack.cmake b/cmake/Modules/ObsCpack.cmake index 33dda54d1..b96c1c155 100644 --- a/cmake/Modules/ObsCpack.cmake +++ b/cmake/Modules/ObsCpack.cmake @@ -78,4 +78,8 @@ endif() set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}") +if(UNIX_STRUCTURE) + set(CPACK_SET_DESTDIR TRUE) +endif() + include(CPack) From fe8d964889a4e3c088292fe77e8b1b6f13a0ae52 Mon Sep 17 00:00:00 2001 From: BtbN Date: Thu, 8 May 2014 23:08:45 +0200 Subject: [PATCH 9/9] Add sse/mmx flags, so used intrinsics compile on 32bit --- libobs/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt index df029d50f..cf4be543d 100644 --- a/libobs/CMakeLists.txt +++ b/libobs/CMakeLists.txt @@ -225,6 +225,11 @@ set_target_properties(libobs PROPERTIES VERSION "0" SOVERSION "0") target_compile_definitions(libobs PUBLIC HAVE_OBSCONFIG_H) + +if(NOT MSVC) + target_compile_options(libobs PUBLIC "-mmmx" "-msse" "-msse2") +endif() + target_link_libraries(libobs PRIVATE jansson