diff --git a/CMakeLists.txt b/CMakeLists.txt index 07d4d5655..9fe181cdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,8 @@ ELSE(WIN32) ENDIF(APPLE) ENDIF(WIN32) +INCLUDE(DetectMachine) + OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" ON) OPTION(WANT_CAPS "Include C* Audio Plugin Suite (LADSPA plugins)" ON) @@ -66,28 +68,12 @@ ELSE(LMMS_BUILD_WIN32) SET(STATUS_WINMM "") ENDIF(LMMS_BUILD_WIN32) -MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}") -EXEC_PROGRAM( uname ARGS "-m"OUTPUT_VARIABLE Machine ) -MESSAGE("Machine: ${Machine}") -IF(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" ) - MESSAGE("-- This is an 32 bit machine") - SET(HOST_IS_64BIT FALSE) -ELSE(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" ) - IF(${Machine} MATCHES "x86_64") - MESSAGE("-- This is an 64 bit machine") - SET(HOST_IS_64BIT TRUE) - ELSE(${Machine} MATCHES "x86_64") - MESSAGE("Can't identify this machine. Assuming 32 bit platform ") - SET(HOST_IS_64BIT FALSE) - ENDIF(${Machine} MATCHES "x86_64") -ENDIF(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" ) - -IF(HOST_IS_64BIT) +IF(LMMS_HOST_X86_64) SET(LIB_DIR lib64) -ELSE(HOST_IS_64BIT) +ELSE(LMMS_HOST_X86_64) SET(LIB_DIR lib) -ENDIF(HOST_IS_64BIT) +ENDIF(LMMS_HOST_X86_64) IF(LMMS_BUILD_WIN32) SET(PLUGIN_DIR plugins) @@ -284,9 +270,9 @@ if(WANT_VST) SET(CMAKE_REQUIRED_FLAGS_ORIG ${CMAKE_REQUIRED_FLAGS}) SET(CMAKE_REQUIRED_INCLUDES_ORIG ${CMAKE_REQUIRED_INCLUDES}) SET(CMAKE_CXX_COMPILER_ORIG ${CMAKE_CXX_COMPILER}) - IF(HOST_IS_64BIT) + IF(LMMS_HOST_X86_64) SET(CMAKE_REQUIRED_FLAGS -m32 ${CMAKE_REQUIRED_FLAGS}) - ENDIF(HOST_IS_64BIT) + ENDIF(LMMS_HOST_X86_64) CHECK_LIBRARY_EXISTS(wine wine_init "" HAVE_LIBWINE) SET(CMAKE_CXX_COMPILER /usr/bin/wineg++) SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${CMAKE_INSTALL_PREFIX}/include/wine/windows /usr/include/wine/windows) @@ -416,6 +402,12 @@ FOREACH(_item ${locale_targets}) ENDFOREACH(_item ${locale_targets}) +# install headers + +INSTALL(FILES ${lmms_INCLUDES} ${CMAKE_BINARY_DIR}/lmmsconfig.h ${CMAKE_SOURCE_DIR}/src/gui/embed.cpp DESTINATION ${CMAKE_INSTALL_PREFIX}/include/lmms/) +IF(NOT LMMS_HAVE_SAMPLERATE) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/samplerate.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/lmms/) +ENDIF(NOT LMMS_HAVE_SAMPLERATE) # # add distclean-target diff --git a/ChangeLog b/ChangeLog index cf90f3a6b..569655e3e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-08-26 Tobias Doerffel + + * cmake/modules/DetectMachine.cmake: + * plugins/vst_base/CMakeLists.txt: + * lmmsconfig.h.in: + * CMakeLists.txt: + improved detection of machine type + 2008-08-26 Paul Giblock * include/controller_connection.h: diff --git a/cmake/modules/DetectMachine.cmake b/cmake/modules/DetectMachine.cmake new file mode 100644 index 000000000..b794b06db --- /dev/null +++ b/cmake/modules/DetectMachine.cmake @@ -0,0 +1,18 @@ +MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}") +EXEC_PROGRAM( uname ARGS "-m" OUTPUT_VARIABLE Machine ) +MESSAGE("Machine: ${Machine}") +SET(LMMS_HOST_X86 FALSE) +SET(LMMS_HOST_X86_64 FALSE) + +IF(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" ) + MESSAGE("-- This is an 32 bit machine") + SET(LMMS_HOST_X86 TRUE) +ELSE(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" ) + IF(${Machine} MATCHES "x86_64") + MESSAGE("-- This is an 64 bit machine") + SET(LMMS_HOST_X86_64 TRUE) + ELSE(${Machine} MATCHES "x86_64") + MESSAGE("Can't identify this machine. Assuming 32 bit platform ") + ENDIF(${Machine} MATCHES "x86_64") +ENDIF(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" ) + diff --git a/lmmsconfig.h.in b/lmmsconfig.h.in index bf7485a7a..d8bda7a72 100644 --- a/lmmsconfig.h.in +++ b/lmmsconfig.h.in @@ -2,6 +2,9 @@ #cmakedefine LMMS_BUILD_WIN32 #cmakedefine LMMS_BUILD_APPLE +#cmakedefine LMMS_HOST_X86 +#cmakedefine LMMS_HOST_X86_64 + #cmakedefine LMMS_HAVE_ALSA #cmakedefine LMMS_HAVE_FFTW3F #cmakedefine LMMS_HAVE_JACK diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 07b98e282..533aa199c 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -5,9 +5,9 @@ INCLUDE(BuildPlugin) BUILD_PLUGIN(vstbase vst_base.cpp lvsl_client.cpp lvsl_client.h communication.h MOCFILES lvsl_client.h) SET_TARGET_PROPERTIES(vstbase PROPERTIES COMPILE_FLAGS "-D_FORTIFY_SOURCE=0") -IF(HOST_IS_64BIT) +IF(LMMS_HOST_X86_64) SET(EXTRA_FLAGS -m32 -Wb,--as-cmd='as --32',--ld-cmd='ld -melf_i386' -L/usr/lib32) -ENDIF(HOST_IS_64BIT) +ENDIF(LMMS_HOST_X86_64) ADD_CUSTOM_COMMAND( SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/lvsl_server.cpp COMMAND wineg++