diff options
author | mrsmidge <smidge@xsco.net> | 2020-10-06 14:54:06 +0100 |
---|---|---|
committer | Adam Szmigin <smidge@xsco.net> | 2020-10-06 22:15:12 +0100 |
commit | e84d713bc79efdaecd6054645d6949f314c22771 (patch) | |
tree | 97d9d7c8438e536a22c8d038c9c4830cd286e916 | |
parent | 92573b8263c2468df6eefa5cdb8126a33150fa64 (diff) |
Enable djinterop on CI builds
-rw-r--r-- | CMakeLists.txt | 32 | ||||
-rw-r--r-- | appveyor.yml | 1 |
2 files changed, 27 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0cc5b3a7ba..ccfbb72072 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,10 @@ endif() ####################################################################### set(CMAKE_CXX_STANDARD 17) +if(MSVC) + # Ensure MSVC populates __cplusplus correctly. + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus") +endif() # Speed up builds on HDDs if(GNU_GCC OR LLVM_CLANG) @@ -1489,15 +1493,32 @@ if(ENGINEPRIME) target_link_libraries(mixxx-lib PUBLIC DjInterop::DjInterop) else() # Fetch djinterop sources from GitHub and build them statically. - message(STATUS "Linking statically to libdjinterop fetched from GitHub") + + # On MacOS, Mixxx does not use system SQLite, so we will use libdjinterop's + # embedded SQLite in such a case. + if (APPLE) + message(STATUS "Building libdjinterop sources (with embedded SQLite) fetched from GitHub") + set(DJINTEROP_SYSTEM_SQLITE OFF) + else() + message(STATUS "Building libdjinterop sources (with system SQLite) fetched from GitHub") + set(DJINTEROP_SYSTEM_SQLITE ON) + endif() set(DJINTEROP_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/lib/libdjinterop-install") + set(DJINTEROP_LIBRARY "lib/${CMAKE_STATIC_LIBRARY_PREFIX}djinterop${CMAKE_STATIC_LIBRARY_SUFFIX}") ExternalProject_Add(libdjinterop GIT_REPOSITORY https://github.com/xsco/libdjinterop.git - GIT_TAG tags/0.13.0 + GIT_TAG tags/0.14.3 GIT_SHALLOW TRUE INSTALL_DIR ${DJINTEROP_INSTALL_DIR} - CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> + CMAKE_ARGS + -DBUILD_SHARED_LIBS=OFF + -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> + -DCMAKE_PREFIX_PATH:PATH=${CMAKE_PREFIX_PATH} + -DSYSTEM_SQLITE=${DJINTEROP_SYSTEM_SQLITE} + BUILD_BYPRODUCTS <INSTALL_DIR>/${DJINTEROP_LIBRARY} EXCLUDE_FROM_ALL TRUE ) @@ -1505,9 +1526,8 @@ if(ENGINEPRIME) add_library(mixxx-libdjinterop STATIC IMPORTED) add_dependencies(mixxx-libdjinterop libdjinterop) set(DJINTEROP_INCLUDE_DIR "${DJINTEROP_INSTALL_DIR}/include") - set(DJINTEROP_LIBRARY "${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}djinterop${CMAKE_STATIC_LIBRARY_SUFFIX}") - set(DJINTEROP_LIBRARY_DIR "${DJINTEROP_INSTALL_DIR}/${DJINTEROP_LIBRARY}") - set_target_properties(mixxx-libdjinterop PROPERTIES IMPORTED_LOCATION "${DJINTEROP_LIBRARY_DIR}") + set(DJINTEROP_LIBRARY_PATH "${DJINTEROP_INSTALL_DIR}/${DJINTEROP_LIBRARY}") + set_target_properties(mixxx-libdjinterop PROPERTIES IMPORTED_LOCATION "${DJINTEROP_LIBRARY_PATH}") target_include_directories(mixxx-lib PUBLIC ${DJINTEROP_INCLUDE_DIR}) target_link_libraries(mixxx-lib PUBLIC mixxx-libdjinterop) diff --git a/appveyor.yml b/appveyor.yml index ac1d3f4e87..92605a6b37 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -238,6 +238,7 @@ for: -DBATTERY=ON -DBROADCAST=ON -DBULK=ON + -DENGINEPRIME=ON -DHID=ON -DHSS1394=ON -DKEYFINDER=OFF |