123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- project(
- 'slim',
- ['c', 'cpp'],
- default_options : ['default_library=static'],
- )
- add_global_arguments('-Wall', language: 'cpp')
- add_global_arguments('-g', language: 'cpp')
- add_global_arguments('-O2', language: 'cpp')
- # Version
- slim_version_major = '1'
- slim_version_minor = '3'
- slim_version_patch = '6'
- slim_version = '${SLIM_VERSION_MAJOR}.${SLIM_VERSION_MINOR}.${SLIM_VERSION_PATCH}'
- add_global_arguments('-DVERSION=${slim_version}', language: 'cpp')
- cmake_install_prefix = ['/usr/local', 'CACHE', 'PATH', 'Installation Directory']
- pkgdatadir = '${CMAKE_INSTALL_PREFIX}/share/slim'
- sysconfdir = '/etc'
- libdir = '/lib'
- mandir = '${CMAKE_INSTALL_PREFIX}/share/man'
- slim_definitions = [
- '-DHAVE_SHADOW',
- '-DPACKAGE="slim"',
- '-DVERSION="1.3.6"',
- '-DPKGDATADIR="/usr/local/share/slim"',
- '-DSYSCONFDIR="/etc"']
- add_global_arguments(slim_definitions, language: 'cpp')
- # Flags
- cmake_c_flags = '${CMAKE_C_FLAGS} -Wall -g -O2'
- cmake_cpp_flags = '${CMAKE_CPP_FLAGS} -Wall -g -O2'
- cmake_cxx_flags = '${CMAKE_CXX_FLAGS} -Wall -g -O2'
- # source
- slim_srcs = ['main.cpp', 'app.cpp', 'numlock.cpp', 'switchuser.cpp', 'png.c', 'jpeg.c']
- slimlock_srcs = 'slimlock.cpp'
- common_srcs = ['cfg.cpp', 'image.cpp', 'log.cpp', 'panel.cpp', 'util.cpp']
- use_pam = true
- build_rust = find_program('build_rust.sh')
- rusty = custom_target(
- 'rusty',
- output: ['libslimrs.a'],
- command: [build_rust, meson.current_source_dir()],
- )
- cc = meson.get_compiler('cpp')
- deps = [
- cc.find_library('m'),
- cc.find_library('crypt'),
- cc.find_library('pthread'),
- cc.find_library('dl'),
- dependency('freetype2'),
- dependency('x11'),
- dependency('xmu'),
- dependency('xft'),
- dependency('xrandr'),
- dependency('JPEG'),
- dependency('PNG'),
- dependency('ZLIB'),
- dependency('fontconfig'),
- ]
- ck = dependency('libconsolekit', required: false)
- ck_conn = dependency('ck-connector', required: false)
- if ck.found() and ck_conn.found()
- deps += [ck, ck_conn]
- slim_srcs += ['Ck.cpp']
- else
- endif
- if use_pam
- common_srcs += ['PAM.cpp']
- # for now, only build slimlock if we are using PAM.
- build_slimlock = '1'
- endif
- # Build common library
- build_shared_libs = true
- if build_shared_libs
- # message(['STATUS', 'Enable shared library building'])
- libslim_lib = library('libslim', common_srcs, dependencies: deps, include_directories: [include_directories('.')])
- else
- # message(['STATUS', 'Disable shared library building'])
- libslim_lib = static_library('libslim', common_srcs, dependencies: deps)
- endif
- # if true
- # slimlock_exe = executable('slimlock', slimlock_srcs)
- # endif
- # #Set the custom CMake module directory where our include/lib finders are
- # cmake_module_path = '${CMAKE_SOURCE_DIR}/cmake/modules'
- # combine = find_program('combine.sh')
- # combined = custom_target(
- # 'combined',
- # input: [rusty, libslim_lib],
- # output: ['libcombined.a'],
- # command: [combine, '@INPUT@'],
- # )
- slim_exe = executable(
- 'slim',
- slim_srcs,
- dependencies: deps,
- include_directories: [include_directories('.')],
- link_with: [rusty, libslim_lib],
- )
- # # Fontconfig
- # fontconfig_dir = cmake_module_path
- # # PAM
- # if false
- # # message('\tPAM Enabled')
- # PAM_dep = dependency('PAM')
- # if 'PAM_FOUND'
- # # message('\tPAM Found')
- # slim_definitions = [slim_definitions, '-DUSE_PAM']
- # # target_link_libraries([project_name, pam_library])
- # # target_link_libraries(['slimlock', pam_library])
- # # include_directories(pam_include_dir)
- # else
- # # message('\tPAM Not Found')
- # endif
- # else
- # # message('\tPAM disabled')
- # endif
- # # ConsoleKit
- # use_consolekit = false
- # if use_consolekit
- # CkConnector_dep = dependency('CkConnector')
- # # message('\tConsoleKit Enabled')
- # if 'CKCONNECTOR_FOUND'
- # # message('\tConsoleKit Found')
- # # DBus check
- # DBus_dep = dependency('DBus')
- # if 'DBUS_FOUND'
- # # message('\tDBus Found')
- # # target_link_libraries([project_name, dbus_libraries])
- # # include_directories(dbus_arch_include_dir)
- # # include_directories(dbus_include_dir)
- # slim_definitions = [slim_definitions, '-DUSE_CONSOLEKIT']
- # # target_link_libraries([project_name, ckconnector_libraries])
- # # include_directories(ckconnector_include_dir)
- # else
- # # message('\tDBus Not Found')
- # endif
- # else
- # # message('\tConsoleKit Not Found')
- # # message('\tConsoleKit disabled')
- # endif
- # else
- # # message('\tConsoleKit disabled')
- # endif
- # # system librarys
|