project: don't compile source files twice
We can just link with the private library, and use the main file to make it an executable. This drops the compile time by 43% here.
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
contrib_incs += [ include_directories('.') ]
|
||||||
|
|
||||||
libevolution_files = files(
|
libevolution_files = files(
|
||||||
'e-cal-data-model.c',
|
'e-cal-data-model.c',
|
||||||
'e-cal-data-model-subscriber.c'
|
'e-cal-data-model-subscriber.c'
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
|
contrib_incs = []
|
||||||
|
|
||||||
subdir('evolution')
|
subdir('evolution')
|
||||||
|
|||||||
+1
-2
@@ -17,8 +17,7 @@
|
|||||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include "config.h"
|
||||||
#include <gtk/gtk.h>
|
|
||||||
#include "gcal-application.h"
|
#include "gcal-application.h"
|
||||||
|
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
|
|||||||
+35
-11
@@ -2,7 +2,7 @@ src_inc = include_directories('.')
|
|||||||
|
|
||||||
enum_headers = files('gcal-utils.h')
|
enum_headers = files('gcal-utils.h')
|
||||||
|
|
||||||
calendar_deps = [
|
libgcal_deps = [
|
||||||
gsettings_desktop_schemas_dep,
|
gsettings_desktop_schemas_dep,
|
||||||
libedataserverui_dep,
|
libedataserverui_dep,
|
||||||
libedataserver_dep,
|
libedataserver_dep,
|
||||||
@@ -45,7 +45,6 @@ sources = files(
|
|||||||
'gcal-utils.c',
|
'gcal-utils.c',
|
||||||
'gcal-view.c',
|
'gcal-view.c',
|
||||||
'gcal-window.c',
|
'gcal-window.c',
|
||||||
'main.c'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
gnome.mkenums(
|
gnome.mkenums(
|
||||||
@@ -90,6 +89,11 @@ debug_conf = configuration_data()
|
|||||||
debug_conf.set('BUGREPORT_URL', package_bugreport)
|
debug_conf.set('BUGREPORT_URL', package_bugreport)
|
||||||
debug_conf.set10('ENABLE_TRACING', enable_tracing)
|
debug_conf.set10('ENABLE_TRACING', enable_tracing)
|
||||||
|
|
||||||
|
|
||||||
|
#########
|
||||||
|
# Debug #
|
||||||
|
#########
|
||||||
|
|
||||||
debug = 'gcal-debug.h'
|
debug = 'gcal-debug.h'
|
||||||
|
|
||||||
sources += configure_file(
|
sources += configure_file(
|
||||||
@@ -98,28 +102,48 @@ sources += configure_file(
|
|||||||
configuration: debug_conf
|
configuration: debug_conf
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#######################
|
||||||
|
# Include directories #
|
||||||
|
#######################
|
||||||
|
|
||||||
incs = [
|
incs = [
|
||||||
top_inc,
|
top_inc,
|
||||||
include_directories('views')
|
include_directories('views')
|
||||||
]
|
]
|
||||||
|
|
||||||
executable(
|
incs += contrib_incs
|
||||||
meson.project_name(),
|
|
||||||
sources,
|
|
||||||
include_directories: incs,
|
###################
|
||||||
dependencies: calendar_deps,
|
# Private library #
|
||||||
install: true,
|
###################
|
||||||
install_dir: calendar_bindir
|
|
||||||
)
|
|
||||||
|
|
||||||
libgcal = shared_library(
|
libgcal = shared_library(
|
||||||
'gcal',
|
'gcal',
|
||||||
sources: sources,
|
sources: sources,
|
||||||
include_directories: incs,
|
include_directories: incs,
|
||||||
dependencies: calendar_deps
|
dependencies: libgcal_deps
|
||||||
)
|
)
|
||||||
|
|
||||||
libgcal_dep = declare_dependency(
|
libgcal_dep = declare_dependency(
|
||||||
link_with: libgcal,
|
link_with: libgcal,
|
||||||
include_directories: src_inc
|
include_directories: src_inc
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
##################
|
||||||
|
# gnome-calendar #
|
||||||
|
##################
|
||||||
|
|
||||||
|
calendar_deps = libgcal_deps
|
||||||
|
calendar_deps += [ libgcal_dep ]
|
||||||
|
|
||||||
|
executable(
|
||||||
|
meson.project_name(),
|
||||||
|
files('main.c'),
|
||||||
|
include_directories: incs,
|
||||||
|
dependencies: calendar_deps,
|
||||||
|
install: true,
|
||||||
|
install_dir: calendar_bindir
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user