Warning, /frameworks/solid/src/solid/devices/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 include (CheckCXXSourceCompiles)
0002 
0003 if(WIN32)
0004     add_definitions(-DYY_NO_UNISTD_H)
0005 endif()
0006 
0007 if(MSVC OR (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel"))
0008     check_cxx_source_compiles("int main() { __asm { pxor mm0, mm0 }; }" HAVE_X86_MMX)
0009     check_cxx_source_compiles("int main() { __asm { xorps xmm0, xmm0 }; }" HAVE_X86_SSE)
0010     check_cxx_source_compiles("int main() { __asm { xorpd xmm0, xmm0 }; }" HAVE_X86_SSE2)
0011     check_cxx_source_compiles("int main() { __asm { femms }; }" HAVE_X86_3DNOW)
0012 else()
0013     check_cxx_source_compiles("     #ifdef __SUNPRO_CC
0014                                             #define __asm__ asm
0015                                     #endif
0016                     int main() { __asm__(\"pxor %mm0, %mm0\") ; }" HAVE_X86_MMX)
0017     check_cxx_source_compiles("     #ifdef __SUNPRO_CC
0018                                             #define __asm__ asm
0019                                     #endif
0020                     int main() { __asm__(\"xorps %xmm0, %xmm0\"); }" HAVE_X86_SSE)
0021     check_cxx_source_compiles("     #ifdef __SUNPRO_CC
0022                                             #define __asm__ asm
0023                                     #endif
0024                     int main() { __asm__(\"xorpd %xmm0, %xmm0\"); }" HAVE_X86_SSE2)
0025     check_cxx_source_compiles("     #ifdef __SUNPRO_CC
0026                                             #define __asm__ asm
0027                                     #endif
0028                     int main() { __asm__(\"femms\"); }" HAVE_X86_3DNOW)
0029 endif()
0030 check_cxx_source_compiles("     #ifdef __SUNPRO_CC
0031                                         #define __asm__ asm
0032                                 #endif
0033                 int main() { __asm__(\"mtspr 256, %0; vand %%v0, %%v0, %%v0\" : : \"r\"(-1) ); }" HAVE_PPC_ALTIVEC)
0034 
0035 configure_file(devices/config-processor.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-processor.h )
0036 
0037 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/devices/ ${CMAKE_CURRENT_SOURCE_DIR}/devices/frontend/ ${CMAKE_CURRENT_BINARY_DIR})
0038 set(solid_LIB_SRCS
0039     ${solid_LIB_SRCS}
0040     devices/managerbase.cpp
0041     devices/solidnamespace.cpp
0042     devices/predicateparse.cpp
0043 
0044     devices/frontend/device.cpp
0045     devices/frontend/devicemanager.cpp
0046     devices/frontend/deviceinterface.cpp
0047     devices/frontend/genericinterface.cpp
0048     devices/frontend/processor.cpp
0049     devices/frontend/block.cpp
0050     devices/frontend/storagedrive.cpp
0051     devices/frontend/opticaldrive.cpp
0052     devices/frontend/storagevolume.cpp
0053     devices/frontend/opticaldisc.cpp
0054     devices/frontend/storageaccess.cpp
0055     devices/frontend/camera.cpp
0056     devices/frontend/portablemediaplayer.cpp
0057     devices/frontend/networkshare.cpp
0058     devices/frontend/battery.cpp
0059     devices/frontend/predicate.cpp
0060 
0061     devices/ifaces/battery.cpp
0062     devices/ifaces/block.cpp
0063     devices/ifaces/camera.cpp
0064     devices/ifaces/opticaldrive.cpp
0065     devices/ifaces/device.cpp
0066     devices/ifaces/deviceinterface.cpp
0067     devices/ifaces/devicemanager.cpp
0068     devices/ifaces/genericinterface.cpp
0069     devices/ifaces/networkshare.cpp
0070     devices/ifaces/opticaldisc.cpp
0071     devices/ifaces/portablemediaplayer.cpp
0072     devices/ifaces/processor.cpp
0073     devices/ifaces/storagedrive.cpp
0074     devices/ifaces/storagevolume.cpp
0075     devices/ifaces/storageaccess.cpp
0076 
0077     devices/backends/shared/rootdevice.cpp
0078     devices/backends/shared/cpufeatures.cpp
0079 )
0080 
0081 ecm_qt_declare_logging_category(solid_LIB_SRCS
0082     HEADER devices_debug.h
0083     IDENTIFIER Solid::Frontend::DeviceManager::DEVICEMANAGER
0084     DEFAULT_SEVERITY Warning
0085     CATEGORY_NAME kf.solid.frontend.devicemanager
0086     DESCRIPTION "Solid (Device Manager)"
0087     EXPORT SOLID
0088 )
0089 
0090 bison_target(SolidParser
0091              devices/predicate_parser.y
0092              ${CMAKE_CURRENT_BINARY_DIR}/predicate_parser.c
0093              COMPILE_FLAGS "-p Solid -d -b predicate_parser"
0094 )
0095 set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/predicate_parser.h PROPERTY SKIP_AUTOMOC TRUE) # don't run automoc on this file
0096 
0097 flex_target(SolidLexer
0098             devices/predicate_lexer.l
0099             ${CMAKE_CURRENT_BINARY_DIR}/predicate_lexer.c
0100             COMPILE_FLAGS "-P Solid"
0101 )
0102 add_flex_bison_dependency(SolidLexer SolidParser)
0103 list(APPEND solid_LIB_SRCS ${BISON_SolidParser_OUTPUTS} ${FLEX_SolidLexer_OUTPUTS})
0104 
0105 include(CheckIncludeFiles)
0106 include(CheckFunctionExists)
0107 include(CheckCXXSourceCompiles)
0108 
0109 #Needed for the fstab backend
0110 check_include_files(mntent.h      HAVE_MNTENT_H)
0111 check_include_files(sys/types.h   HAVE_SYS_TYPES_H)
0112 check_include_files(sys/param.h   HAVE_SYS_PARAM_H)
0113 check_include_files("stdio.h;sys/mnttab.h"  HAVE_SYS_MNTTAB_H)
0114 check_include_files("sys/param.h;sys/mount.h"  HAVE_SYS_MOUNT_H)
0115 
0116 check_function_exists(getmntinfo HAVE_GETMNTINFO)
0117 
0118 check_function_exists(setmntent  HAVE_SETMNTENT)
0119 
0120 check_cxx_source_compiles("
0121   #include <sys/types.h>
0122   #include <sys/statvfs.h>
0123   int main(){
0124     struct statvfs *mntbufp;
0125     int flags;
0126     return getmntinfo(&mntbufp, flags);
0127   }
0128 " GETMNTINFO_USES_STATVFS )
0129 
0130 configure_file(devices/config-solid.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-solid.h )
0131 
0132 set(solid_OPTIONAL_LIBS)
0133 
0134 add_device_backends_build("${CMAKE_CURRENT_SOURCE_DIR}/devices/backends" solid_LIB_SRCS solid_OPTIONAL_LIBS)