Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move jackey include dir from server to scsynth #2179

Merged

Conversation

drlight-code
Copy link
Contributor

From the documentation it seems the reason is that include_directories()
affects only include paths for targets in the current
CMakeLists.txt. Don't know why this worked before but moving to scsynth
CMakeLists.txt as target_include_directories() works for me.

Fixes #2145

@vivid-synth
Copy link
Member

Just tried, this doesn't fix #2145 for me

@drlight-code drlight-code force-pushed the topic/fix-jackey-include branch from bb85c62 to 3c995b1 Compare June 14, 2016 14:53
@drlight-code
Copy link
Contributor Author

I just see you got the error with supernova, I got it with scsynth. Now added it to the supernova CMakeLists.txt as well. Can you retry?

@drlight-code drlight-code force-pushed the topic/fix-jackey-include branch from 3c995b1 to 72e8591 Compare June 14, 2016 14:55
@vivid-synth
Copy link
Member

I see an error (with latest master and cmake version 3.6.20160601):

CMake Error at server/scsynth/CMakeLists.txt:293 (target_include_directories):
target_include_directories called with invalid arguments

CMake Error at server/supernova/CMakeLists.txt:232 (target_include_directories):
target_include_directories called with invalid arguments

@drlight-code drlight-code force-pushed the topic/fix-jackey-include branch from 72e8591 to 7401832 Compare June 14, 2016 15:57
@drlight-code
Copy link
Contributor Author

Interesting, cmake 3.5 doesn't give me those errors. Added the PRIVATE scope specifier, please retry.

@vivid-synth
Copy link
Member

I see the same error as before:

Scanning dependencies of target supernova
make[2]: Warning: File '../external_libraries/oscpack_1_1_0/osc/OscReceivedElements.h' has modification time 7130 s in the future
[ 64%] Building CXX object server/supernova/CMakeFiles/supernova.dir/server/main.cpp.o
In file included from /home/air/box_build/supercollider/server/supernova/server/server.hpp:40:0,
                 from /home/air/box_build/supercollider/server/supernova/server/main.cpp:28:
/home/air/box_build/supercollider/server/supernova/./audio_backend/jack_backend.hpp:31:24: fatal error: jackey.h: No such file or directory
 #    include <jackey.h>
                        ^
compilation terminated.
server/supernova/CMakeFiles/supernova.dir/build.make:62: recipe for target 'server/supernova/CMakeFiles/supernova.dir/server/main.cpp.o' failed
make[2]: *** [server/supernova/CMakeFiles/supernova.dir/server/main.cpp.o] Error 1
CMakeFiles/Makefile2:3563: recipe for target 'server/supernova/CMakeFiles/supernova.dir/all' failed
make[1]: *** [server/supernova/CMakeFiles/supernova.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

@drlight-code
Copy link
Contributor Author

This is strange. Please build with VERBOSE=1 set in the environment. You are definitely testing my topic/fix-jackey-include branch? You wrote master earlier which confused me a bit.

@vivid-synth
Copy link
Member

@flv0 I'm applying your patch to current SC master. Here's my error, verbose:

[ 63%] Linking CXX static library libsupernova.a
cd /home/air/box_build/supercollider/build/server/supernova && /usr/local/bin/cmake -P CMakeFiles/libsupernova.dir/cmake_clean_target.cmake
cd /home/air/box_build/supercollider/build/server/supernova && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/libsupernova.dir/link.txt --verbose=1
/usr/bin/ar qc libsupernova.a  CMakeFiles/libsupernova.dir/sc/sc_synth_definition.cpp.o CMakeFiles/libsupernova.dir/sc/sc_osc_handler.cpp.o CMakeFiles/libsupernova.dir/sc/sc_plugin_interface.cpp.o CMakeFiles/libsupernova.dir/sc/sc_synth.cpp.o CMakeFiles/libsupernova.dir/sc/sc_synthdef.cpp.o CMakeFiles/libsupernova.dir/sc/sc_ugen_factory.cpp.o CMakeFiles/libsupernova.dir/__/__/common/Samp.cpp.o CMakeFiles/libsupernova.dir/__/__/common/SC_fftlib.cpp.o CMakeFiles/libsupernova.dir/__/__/common/SC_DirUtils.cpp.o CMakeFiles/libsupernova.dir/__/__/common/SC_StringParser.cpp.o CMakeFiles/libsupernova.dir/__/__/common/SC_StandAloneInfo_Darwin.cpp.o CMakeFiles/libsupernova.dir/server/buffer_manager.cpp.o CMakeFiles/libsupernova.dir/server/memory_pool.cpp.o CMakeFiles/libsupernova.dir/server/node_graph.cpp.o CMakeFiles/libsupernova.dir/server/server.cpp.o CMakeFiles/libsupernova.dir/server/server_args.cpp.o
/usr/bin/ranlib libsupernova.a
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Leaving directory '/home/air/box_build/supercollider/build'
[ 63%] Built target libsupernova
make -f server/supernova/CMakeFiles/supernova.dir/build.make server/supernova/CMakeFiles/supernova.dir/depend
make[2]: Entering directory '/home/air/box_build/supercollider/build'
cd /home/air/box_build/supercollider/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/air/box_build/supercollider /home/air/box_build/supercollider/server/supernova /home/air/box_build/supercollider/build /home/air/box_build/supercollider/build/server/supernova /home/air/box_build/supercollider/build/server/supernova/CMakeFiles/supernova.dir/DependInfo.cmake --color=
Dependee "/home/air/box_build/supercollider/build/server/supernova/CMakeFiles/supernova.dir/DependInfo.cmake" is newer than depender "/home/air/box_build/supercollider/build/server/supernova/CMakeFiles/supernova.dir/depend.internal".
Dependee "/home/air/box_build/supercollider/build/server/supernova/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/air/box_build/supercollider/build/server/supernova/CMakeFiles/supernova.dir/depend.internal".
Scanning dependencies of target supernova
make[2]: Leaving directory '/home/air/box_build/supercollider/build'
make -f server/supernova/CMakeFiles/supernova.dir/build.make server/supernova/CMakeFiles/supernova.dir/build
make[2]: Entering directory '/home/air/box_build/supercollider/build'
make[2]: Warning: File '../external_libraries/oscpack_1_1_0/osc/OscReceivedElements.h' has modification time 81 s in the future
[ 64%] Building CXX object server/supernova/CMakeFiles/supernova.dir/server/main.cpp.o
cd /home/air/box_build/supercollider/build/server/supernova && /usr/bin/c++   -DBOOST_CHRONO_HEADER_ONLY -DBOOST_NO_AUTO_PTR -DBOOST_THREAD_USE_LIB -DDLOPEN -DJACK_BACKEND -DNOVA_SIMD -DSC_DATA_DIR=\"/usr/local/share/SuperCollider\" -DSC_FFT_FFTW -DSC_JACK_USE_METADATA_API -DSC_PLUGIN_EXT=\".so\" -DSUPERNOVA -I/home/air/box_build/supercollider/build/common -I/home/air/box_build/supercollider/external_libraries -I/home/air/box_build/supercollider/external_libraries/nova-simd -I/home/air/box_build/supercollider/external_libraries/nova-tt -I/home/air/box_build/supercollider/external_libraries/boost -I/home/air/box_build/supercollider/include/plugin_interface -I/home/air/box_build/supercollider/include/common -I/home/air/box_build/supercollider/common -I/home/air/box_build/supercollider/include/server -I/home/air/box_build/supercollider/server/scsynth -I/home/air/box_build/supercollider/external_libraries/boost_endian -I/home/air/box_build/supercollider/external_libraries/boost_sync/include -I/home/air/box_build/supercollider/server/supernova/. -I/home/air/box_build/supercollider/external_libraries/oscpack_1_1_0 -I/home/air/box_build/supercollider/external_libraries/TLSF-2.4.6/src  -msse -msse -mfpmath=sse -msse2 -march=native -ftemplate-depth-4096 -O2 -g -DNDEBUG   -fschedule-insns2 -fomit-frame-pointer -Wreturn-type -ffast-math -fsigned-zeros -fno-associative-math -pthread -fvisibility=hidden -std=gnu++11 -o CMakeFiles/supernova.dir/server/main.cpp.o -c /home/air/box_build/supercollider/server/supernova/server/main.cpp
In file included from /home/air/box_build/supercollider/server/supernova/server/server.hpp:40:0,
                 from /home/air/box_build/supercollider/server/supernova/server/main.cpp:28:
/home/air/box_build/supercollider/server/supernova/./audio_backend/jack_backend.hpp:31:24: fatal error: jackey.h: No such file or directory
 #    include <jackey.h>
                        ^
compilation terminated.
server/supernova/CMakeFiles/supernova.dir/build.make:62: recipe for target 'server/supernova/CMakeFiles/supernova.dir/server/main.cpp.o' failed
make[2]: *** [server/supernova/CMakeFiles/supernova.dir/server/main.cpp.o] Error 1
make[2]: Leaving directory '/home/air/box_build/supercollider/build'
CMakeFiles/Makefile2:3563: recipe for target 'server/supernova/CMakeFiles/supernova.dir/all' failed
make[1]: *** [server/supernova/CMakeFiles/supernova.dir/all] Error 2
make[1]: Leaving directory '/home/air/box_build/supercollider/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

@drlight-code drlight-code force-pushed the topic/fix-jackey-include branch from 7401832 to 4bcd355 Compare June 14, 2016 21:26
@drlight-code
Copy link
Contributor Author

Ok, got it. Sorry I was erronously assuming I fixed it. So much for the "don't know why it worked before" part... Should work now, sorry for the confusion!

Use CMAKE_SOURCE_DIR instead of PROJECT_SOURCE_DIR. Move from server to
toplevel CMakeLists.txt since it's also required by the supernova tests.

Fixes supercollider#2145
@drlight-code drlight-code force-pushed the topic/fix-jackey-include branch from 4bcd355 to fb28666 Compare June 14, 2016 21:28
@vivid-synth
Copy link
Member

K cool! Can confirm, this latest patch fixes the breaking build.

@ventosus
Copy link
Contributor

I can confirm the issue with jackey.h not being found, too (cmake 3.5.2).

I can also confirm the patch of @flv0 fixing the issue.

@vivid-synth
Copy link
Member

@crucialfelix (or should I tag someone else?) I think this is ready to merge

@crucialfelix crucialfelix added this to the 3.8 milestone Jun 19, 2016
@crucialfelix crucialfelix added the comp: build CMake build system label Jun 19, 2016
@crucialfelix crucialfelix merged commit 0cdb2ca into supercollider:master Jun 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: build CMake build system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants