diff options
-rw-r--r-- | .gitlab-ci.yml | 72 | ||||
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | cmake/arm-linux-gnueabihf.cmake | 22 | ||||
-rw-r--r-- | cmake/i686-linux-gnu.cmake | 11 | ||||
-rw-r--r-- | cmake/i686-w64-mingw32.cmake | 25 | ||||
-rw-r--r-- | cmake/universal-apple-darwin.cmake | 24 | ||||
-rw-r--r-- | cmake/x86_64-linux-gnu.cmake | 8 | ||||
-rw-r--r-- | cmake/x86_64-w64-mingw32.cmake | 25 |
9 files changed, 193 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..614dfef --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,72 @@ +stages: + - build + - deploy + +.variables_template: &variables_definition + variables: + BASE_NAME: "sherlock.lv2" + PKG_CONFIG_PATH: "/opt/lv2/lib/pkgconfig:/opt/${CI_BUILD_NAME}/lib/pkgconfig" + TOOLCHAIN_FILE: "${CI_PROJECT_DIR}/cmake/${CI_BUILD_NAME}.cmake" + +.common_template: &common_definition + <<: *variables_definition + stage: build + artifacts: + name: "${BASE_NAME}-$(cat VERSION)-${CI_BUILD_NAME}" + paths: + - "${BASE_NAME}-$(cat VERSION)/" + +.build_template: &build_definition + <<: *common_definition + script: + - mkdir build + - pushd build + - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${CI_PROJECT_DIR} -DPLUGIN_DEST="${BASE_NAME}-$(cat ../VERSION)/${CI_BUILD_NAME}/${BASE_NAME}" -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} .. + - cmake .. # needed for darwin + - make + - make install + +.universal_linux_template: &universal_linux_definition + image: ventosus/universal-linux-gnu + <<: *build_definition + +.arm_linux_template: &arm_linux_definition + image: ventosus/arm-linux-gnueabihf + <<: *build_definition + +.universal_w64_template: &universal_w64_definition + image: ventosus/universal-w64-mingw32 + <<: *build_definition + +.universal_apple_template: &universal_apple_definition + image: ventosus/universal-apple-darwin + <<: *build_definition + +# building in docker +x86_64-linux-gnu: + <<: *universal_linux_definition + +i686-linux-gnu: + <<: *universal_linux_definition + +arm-linux-gnueabihf: + <<: *arm_linux_definition + +x86_64-w64-mingw32: + <<: *universal_w64_definition + +i686-w64-mingw32: + <<: *universal_w64_definition + +universal-apple-darwin: + <<: *universal_apple_definition + +pack: + <<: *variables_definition + stage: deploy + script: + - echo 'packing up...' + artifacts: + name: "${BASE_NAME}-$(cat VERSION)" + paths: + - "${BASE_NAME}-$(cat VERSION)/" diff --git a/CMakeLists.txt b/CMakeLists.txt index add1c85..95462ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,7 +56,11 @@ include_directories(${LV2_INCLUDE_DIRS}) pkg_search_module(SRATOM REQUIRED sratom-0>=0.4.0) include_directories(${SRATOM_INCLUDE_DIRS}) -set(LIBS_UI ${LIBS_UI} ${SRATOM_LDFLAGS}) +if(DEFINED STATIC_SRATOM) + set(LIBS_UI ${STATIC_SRATOM} ${STATIC_SORD} ${STATIC_SERD} ${LIBS_UI}) +else() + set(LIBS_UI ${LIBS_UI} ${SRATOM_LDFLAGS}) +endif() find_package(OpenGL) if(${OPENGL_FOUND}) @@ -1 +1 @@ -0.11.45 +0.11.47 diff --git a/cmake/arm-linux-gnueabihf.cmake b/cmake/arm-linux-gnueabihf.cmake new file mode 100644 index 0000000..f6d0b2a --- /dev/null +++ b/cmake/arm-linux-gnueabihf.cmake @@ -0,0 +1,22 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR "armv7h") +set(TOOLCHAIN "arm-linux-gnueabihf") + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER "${TOOLCHAIN}-gcc") +set(CMAKE_CXX_COMPILER "${TOOLCHAIN}-g++") + +# here is the target environment located +set(CMAKE_FIND_ROOT_PATH "usr/${TOOLCHAIN}") + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +set(STATIC_SRATOM "/opt/${TOOLCHAIN}/lib/libsratom-0.a") +set(STATIC_SERD "/opt/${TOOLCHAIN}/lib/libserd-0.a") +set(STATIC_SORD "/opt/${TOOLCHAIN}/lib/libsord-0.a") diff --git a/cmake/i686-linux-gnu.cmake b/cmake/i686-linux-gnu.cmake new file mode 100644 index 0000000..f00ae3e --- /dev/null +++ b/cmake/i686-linux-gnu.cmake @@ -0,0 +1,11 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR "i686") +set(TOOLCHAIN "i686-linux-gnu") + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags") + +set(STATIC_SRATOM "/opt/${TOOLCHAIN}/lib/libsratom-0.a") +set(STATIC_SERD "/opt/${TOOLCHAIN}/lib/libserd-0.a") +set(STATIC_SORD "/opt/${TOOLCHAIN}/lib/libsord-0.a") diff --git a/cmake/i686-w64-mingw32.cmake b/cmake/i686-w64-mingw32.cmake new file mode 100644 index 0000000..3564cad --- /dev/null +++ b/cmake/i686-w64-mingw32.cmake @@ -0,0 +1,25 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Windows) +set(CMAKE_SYSTEM_PROCESSOR "i686") +set(TOOLCHAIN "i686-w64-mingw32") + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER "${TOOLCHAIN}-gcc") +set(CMAKE_CXX_COMPILER "${TOOLCHAIN}-g++") +set(CMAKE_RC_COMPILER "${TOOLCHAIN}-windres") + +# here is the target environment located +set(CMAKE_FIND_ROOT_PATH "/usr/${TOOLCHAIN}") + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +set(STATIC_SRATOM "/opt/${TOOLCHAIN}/lib/libsratom-0.a") +set(STATIC_SERD "/opt/${TOOLCHAIN}/lib/libserd-0.a") +set(STATIC_SORD "/opt/${TOOLCHAIN}/lib/libsord-0.a") + +set(WINE wine32) diff --git a/cmake/universal-apple-darwin.cmake b/cmake/universal-apple-darwin.cmake new file mode 100644 index 0000000..51079cb --- /dev/null +++ b/cmake/universal-apple-darwin.cmake @@ -0,0 +1,24 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Darwin) +set(CMAKE_SYSTEM_PROCESSOR "x86_64") +set(TOOLCHAIN "universal-apple-darwin") + +set(CMAKE_OSX_ARCHITECTURES "x86_64;i386") + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER "/usr/${TOOLCHAIN}/bin/x86_64-apple-darwin15-clang") +set(CMAKE_CXX_COMPILER "/usr/${TOOLCHAIN}/bin/x86_64-apple-darwin15-clang++") + +# here is the target environment located +set(CMAKE_FIND_ROOT_PATH "/usr/${TOOLCHAIN}") + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +set(STATIC_SRATOM "/opt/${TOOLCHAIN}/lib/libsratom-0.a") +set(STATIC_SERD "/opt/${TOOLCHAIN}/lib/libserd-0.a") +set(STATIC_SORD "/opt/${TOOLCHAIN}/lib/libsord-0.a") diff --git a/cmake/x86_64-linux-gnu.cmake b/cmake/x86_64-linux-gnu.cmake new file mode 100644 index 0000000..730a594 --- /dev/null +++ b/cmake/x86_64-linux-gnu.cmake @@ -0,0 +1,8 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR "x86_64") +set(TOOLCHAIN "x86_64-linux-gnu") + +set(STATIC_SRATOM "/opt/${TOOLCHAIN}/lib/libsratom-0.a") +set(STATIC_SERD "/opt/${TOOLCHAIN}/lib/libserd-0.a") +set(STATIC_SORD "/opt/${TOOLCHAIN}/lib/libsord-0.a") diff --git a/cmake/x86_64-w64-mingw32.cmake b/cmake/x86_64-w64-mingw32.cmake new file mode 100644 index 0000000..9e90894 --- /dev/null +++ b/cmake/x86_64-w64-mingw32.cmake @@ -0,0 +1,25 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Windows) +set(CMAKE_SYSTEM_PROCESSOR "x86_64") +set(TOOLCHAIN "x86_64-w64-mingw32") + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER "${TOOLCHAIN}-gcc") +set(CMAKE_CXX_COMPILER "${TOOLCHAIN}-g++") +set(CMAKE_RC_COMPILER "${TOOLCHAIN}-windres") + +# here is the target environment located +set(CMAKE_FIND_ROOT_PATH "/usr/${TOOLCHAIN}") + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +set(STATIC_SRATOM "/opt/${TOOLCHAIN}/lib/libsratom-0.a") +set(STATIC_SERD "/opt/${TOOLCHAIN}/lib/libserd-0.a") +set(STATIC_SORD "/opt/${TOOLCHAIN}/lib/libsord-0.a") + +set(WINE wine64) |