From 80cde5f10a886bb5c5e6ecca84e1d08157543493 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Fri, 20 Oct 2017 10:55:03 +0300 Subject: Fixed CMake build --- CMakeLists.txt | 12 ++++++++++-- bitbucket-pipelines.yml | 7 ++++++- src/adlmidi_load.cpp | 2 ++ src/adlmidi_private.hpp | 4 ++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f2a7aca..bd636d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,8 +73,11 @@ if(WITH_EMBEDDED_BANKS) ${libADLMIDI_SOURCE_DIR}/src/dbopl.cpp ) target_link_libraries(gen_adldata pthread) + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + target_compile_options(gen_adldata PUBLIC $<$:-std=c++11>) + endif() - add_custom_target ( + add_custom_target( gen-adldata-run COMMAND ${libADLMIDI_BINARY_DIR}/gen_adldata ${libADLMIDI_SOURCE_DIR}/src/adldata.cpp WORKING_DIRECTORY ${libADLMIDI_SOURCE_DIR} @@ -134,6 +137,11 @@ if(libADLMIDI_SHARED) endif() endif() +if(NOT libADLMIDI_STATIC AND NOT libADLMIDI_SHARED) + message(FATAL_ERROR "Both static and shared libADLMIDI builds are disabled! +You must enable at least one of them!") +endif() + if(WITH_MIDIPLAY) find_library(SDL2_LIBRARY SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIR}) @@ -176,9 +184,9 @@ install(FILES message("==== libADLMIDI options ====") message("WITH_MIDIPLAY = ${WITH_MIDIPLAY}") +message("WITH_OLD_UTILS = ${WITH_OLD_UTILS}") message("WITH_EMBEDDED_BANKS = ${WITH_EMBEDDED_BANKS}") message("USE_DOSBOX_EMULATOR = ${USE_DOSBOX_EMULATOR}") message("libADLMIDI_STATIC = ${libADLMIDI_STATIC}") message("libADLMIDI_SHARED = ${libADLMIDI_SHARED}") - diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 0c5f9ef..e124f6a 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -9,4 +9,9 @@ pipelines: default: - step: script: # Modify the commands below to build your repository. - - make \ No newline at end of file + - mkdir build + - cd build + - cmake -DCMAKE_INSTALL_PREFIX=output -DCMAKE_BUILD_TYPE=Release -DlibADLMIDI_STATIC=YES -DWITH_MIDIPLAY=ON .. + - make -j 4 + - make install + diff --git a/src/adlmidi_load.cpp b/src/adlmidi_load.cpp index a1242d7..c5884a5 100644 --- a/src/adlmidi_load.cpp +++ b/src/adlmidi_load.cpp @@ -381,7 +381,9 @@ bool MIDIplay::LoadMIDI(MIDIplay::fileReader &fr) if(!fr.isValid()) { ADLMIDI_ErrorString = "Invalid data stream!\n"; + #ifndef _WIN32 ADLMIDI_ErrorString += std::strerror(errno); + #endif return false; } diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 5d5da0a..73d5aed 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -63,6 +63,10 @@ #include #include // numeric_limit +#ifndef _WIN32 +#include +#endif + #include #include -- cgit v1.2.3