Many small Improvements. Removed old non-functional test structures. Switched to dmd for linking. Fixed bug in CMakeDInformation.cmake that we inhereted from the C version. Added C+D test case, which fails.

This commit is contained in:
Steve King 2010-08-13 21:52:06 -07:00
commit 02d13655b2
151 changed files with 100 additions and 39777 deletions

View file

@ -21,10 +21,12 @@ SET(CMAKE_D_COMPILER_ENV_VAR "DC")
IF(CMAKE_COMPILER_IS_MINGW)
SET(MINGW 1)
ENDIF(CMAKE_COMPILER_IS_MINGW)
SET(CMAKE_COMPILER_IS_GDC_RUN 1)
SET(CMAKE_D_SOURCE_FILE_EXTENSIONS d)
SET(CMAKE_D_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
SET(CMAKE_D_LINKER_PREFERENCE None)
# Prefer to use D's linker.
# The D value 40 beats CXX value of 30 and C value of 10
SET(CMAKE_D_LINKER_PREFERENCE 40 )
SET(CMAKE_D_LINKER_PREFERENCE_PROPOGATES 1 )
# Save compiler ABI information.
SET(CMAKE_D_SIZEOF_DATA_PTR "@CMAKE_D_SIZEOF_DATA_PTR@")
SET(CMAKE_D_COMPILER_ABI "@CMAKE_D_COMPILER_ABI@")

View file

@ -1,5 +1,8 @@
#elif defined(__dmd__)
# define COMPILER_ID "DMD"
#if defined(__dmd__)
# define COMPILER_ID "dmd"
#elif defined(__ldc__)
# define COMPILER_ID "ldc"
#elif defined(__gdc__)
# define COMPILER_ID "gdc"
@ -14,7 +17,7 @@
array rather than assigning a pointer to a static array. */
char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
@CMAKE_C_COMPILER_ID_PLATFORM_CONTENT@
@CMAKE_D_COMPILER_ID_PLATFORM_CONTENT@
/*--------------------------------------------------------------------------*/

View file

@ -3,6 +3,7 @@
#
# Copyright (c) 2007, Selman Ulug <selman.ulug@gmail.com>
# Tim Burrell <tim.burrell@gmail.com>
# Steve King <sk@metrokings.com>
#
# All rights reserved.
#
@ -18,30 +19,21 @@
# It also loads a system - compiler - processor (or target hardware)
# specific file, which is mainly useful for crosscompiling and embedded systems.
# some compilers use different extensions (e.g. sdcc uses .rel)
# so set the extension here first so it can be overridden by the compiler specific file
IF(UNIX)
SET(CMAKE_D_OUTPUT_EXTENSION .o)
ELSE(UNIX)
SET(CMAKE_D_OUTPUT_EXTENSION .obj)
ENDIF(UNIX)
MESSAGE( "**** Debug Info: Enter CMakeDInformation.cmake" )
# Load compiler-specific information.
SET( _INCLUDED_FILE 0 ) # reset the indicator if an include occurred.
IF(CMAKE_D_COMPILER_ID)
INCLUDE(Compiler/${CMAKE_D_COMPILER_ID}-D OPTIONAL)
ENDIF(CMAKE_D_COMPILER_ID)
# SET(CMAKE_D_OUTPUT_EXTENSION .o)
SET(CMAKE_BASE_NAME)
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_D_COMPILER} NAME_WE)
# This will need updating for the LLVM based ldc
IF(CMAKE_COMPILER_IS_GDC)
SET(CMAKE_D_OUTPUT_NAME_SWITCH "-o")
SET(CMAKE_BASE_NAME gdc)
ELSE(CMAKE_COMPILER_IS_GDC)
SET(CMAKE_D_OUTPUT_NAME_SWITCH "-of")
SET(CMAKE_BASE_NAME dmd)
ENDIF(CMAKE_COMPILER_IS_GDC)
SET( _INCLUDED_FILE 0 ) # reset the indicator if an include occurred.
# load a hardware specific file, mostly useful for embedded compilers
IF(CMAKE_SYSTEM_PROCESSOR)
@ -53,16 +45,24 @@ IF(CMAKE_SYSTEM_PROCESSOR)
ENDIF (NOT _INCLUDED_FILE)
ENDIF(CMAKE_SYSTEM_PROCESSOR)
MESSAGE( "**** Debug Info: CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}" )
MESSAGE( "**** Debug Info: CMAKE_D_COMPILER_ID = ${CMAKE_D_COMPILER_ID}" )
MESSAGE( "**** Debug Info: CMAKE_BASE_NAME = ${CMAKE_BASE_NAME}" )
SET( _INCLUDED_FILE 0 ) # reset the indicator if an include occurred.
# load the system- and compiler specific files
IF(CMAKE_D_COMPILER_ID)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_D_COMPILER_ID}-D
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
ENDIF(CMAKE_D_COMPILER_ID)
# if no high specificity file was included, then try a more general one
IF (NOT _INCLUDED_FILE)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
ENDIF (NOT _INCLUDED_FILE)
# We specify the compiler information in the system file for some
# platforms, but this language may not have been enabled when the file
# was first included. Include it again to get the language info.
@ -157,7 +157,7 @@ INCLUDE(CMakeCommonLanguageInclude)
# create a D shared library
IF(NOT CMAKE_D_CREATE_SHARED_LIBRARY)
SET(CMAKE_D_CREATE_SHARED_LIBRARY
"<CMAKE_D_COMPILER> <CMAKE_SHARED_LIBRARY_D_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_D_FLAG><TARGET_SONAME> ${CMAKE_D_OUTPUT_NAME_SWITCH}<TARGET> <OBJECTS> <LINK_LIBRARIES> ${DSTDLIB_FLAGS} ${CMAKE_D_STDLIBS}")
"<CMAKE_D_COMPILER> <CMAKE_SHARED_LIBRARY_D_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_D_FLAG><TARGET_SONAME> ${CMAKE_D_DASH_O}<TARGET> <OBJECTS> <LINK_LIBRARIES> ${DSTDLIB_FLAGS} ${CMAKE_D_STDLIBS}")
ENDIF(NOT CMAKE_D_CREATE_SHARED_LIBRARY)
# create a D shared module just copy the shared library rule
@ -174,12 +174,12 @@ SET(CMAKE_D_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
# compile a D file into an object file
IF(NOT CMAKE_D_COMPILE_OBJECT)
SET(CMAKE_D_COMPILE_OBJECT
"<CMAKE_D_COMPILER> <FLAGS> ${CMAKE_D_OUTPUT_NAME_SWITCH}<OBJECT> -c <SOURCE>")
"<CMAKE_D_COMPILER> <FLAGS> ${CMAKE_D_DASH_O}<OBJECT> -c <SOURCE>")
ENDIF(NOT CMAKE_D_COMPILE_OBJECT)
IF(NOT CMAKE_D_LINK_EXECUTABLE)
SET(CMAKE_D_LINK_EXECUTABLE
"gcc <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${CMAKE_D_STDLIBS}")
"<CMAKE_D_COMPILER> <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> ${CMAKE_D_DASH_O}<TARGET> <LINK_LIBRARIES> ${CMAKE_D_STDLIBS}")
ENDIF(NOT CMAKE_D_LINK_EXECUTABLE)
IF(NOT CMAKE_EXECUTABLE_RUNTIME_D_FLAG)
@ -202,3 +202,4 @@ CMAKE_D_FLAGS_RELEASE
CMAKE_D_FLAGS_RELWITHDEBINFO
)
SET(CMAKE_D_INFORMATION_LOADED 1)
MESSAGE( "**** Debug Info: Exit CMakeDInformation.cmake" )

View file

@ -11,8 +11,6 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT (cmaked NONE)
# note do not install FindGTK2.cmake. it is not required to install it
# to build the samples, and can break apps that use other FindGTK2 modules.
SET (MOD_SRCS
CMakeDCompiler.cmake.in
CMakeDCompilerId.d.in

View file

@ -1,453 +0,0 @@
# - Try to find GTK2
# Once done this will define
#
# GTK2_FOUND - System has Boost
# GTK2_INCLUDE_DIRS - GTK2 include directory
# GTK2_LIBRARIES - Link these to use GTK2
# GTK2_LIBRARY_DIRS - The path to where the GTK2 library files are.
# GTK2_DEFINITIONS - Compiler switches required for using GTK2
#
# Copyright (c) 2007 Andreas Schneider <mail@cynapses.org>
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see
# http://cmake-modules.googlecode.com/svn/trunk/Modules/COPYING-CMAKE-SCRIPTS
#
set(GTK2_DEBUG ON)
macro(GTK2_DEBUG_MESSAGE _message)
if (GTK2_DEBUG)
message(STATUS "(DEBUG) ${_message}")
endif (GTK2_DEBUG)
endmacro(GTK2_DEBUG_MESSAGE _message)
if (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
# in cache already
set(GTK2_FOUND TRUE)
else (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
if (UNIX)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
include(UsePkgConfig)
pkgconfig(gtk+-2.0 _GTK2IncDir _GTK2LinkDir _GTK2LinkFlags _GTK2Cflags)
find_path(GTK2_GTK_INCLUDE_DIR
NAMES
gtk/gtk.h
PATHS
$ENV{GTK2_HOME}
${_GTK2IncDir}
/usr/include/gtk-2.0
/usr/local/include/gtk-2.0
/opt/include/gtk-2.0
/opt/gnome/include/gtk-2.0
/sw/include/gtk-2.0
)
gtk2_debug_message("GTK2_GTK_INCLUDE_DIR is ${GTK2_GTK_INCLUDE_DIR}")
# Some Linux distributions (e.g. Red Hat) have glibconfig.h
# and glib.h in different directories, so we need to look
# for both.
# - Atanas Georgiev <atanas@cs.columbia.edu>
pkgconfig(glib-2.0 _GLIB2IncDir _GLIB2LinkDir _GLIB2LinkFlags _GLIB2Cflags)
pkgconfig(gmodule-2.0 _GMODULE2IncDir _GMODULE2LinkDir _GMODULE2LinkFlags _GMODULE2Cflags)
find_path(GTK2_GLIBCONFIG_INCLUDE_DIR
NAMES
glibconfig.h
PATHS
${_GLIB2IncDir}
${_GMODULE2IncDir}
/opt/gnome/lib64/glib-2.0/include
/opt/gnome/lib/glib-2.0/include
/opt/lib/glib-2.0/include
/usr/lib64/glib-2.0/include
/usr/lib/glib-2.0/include
/sw/lib/glib-2.0/include
)
gtk2_debug_message("GTK2_GLIBCONFIG_INCLUDE_DIR is ${GTK2_GLIBCONFIG_INCLUDE_DIR}")
find_path(GTK2_GLIB_INCLUDE_DIR
NAMES
glib.h
PATHS
${_GLIB2IncDir}
${_GMODULE2IncDir}
/opt/include/glib-2.0
/opt/gnome/include/glib-2.0
/usr/include/glib-2.0
/sw/include/glib-2.0
)
gtk2_debug_message("GTK2_GLIB_INCLUDE_DIR is ${GTK2_GLIB_INCLUDE_DIR}")
pkgconfig(gdk-2.0 _GDK2IncDir _GDK2LinkDir _GDK2LinkFlags _GDK2Cflags)
find_path(GTK2_GDK_INCLUDE_DIR
NAMES
gdkconfig.h
PATHS
${_GDK2IncDir}
/opt/gnome/lib/gtk-2.0/include
/opt/gnome/lib64/gtk-2.0/include
/opt/lib/gtk-2.0/include
/usr/lib/gtk-2.0/include
/usr/lib64/gtk-2.0/include
/sw/lib/gtk-2.0/include
)
gtk2_debug_message("GTK2_GDK_INCLUDE_DIR is ${GTK2_GDK_INCLUDE_DIR}")
find_path(GTK2_GTKGL_INCLUDE_DIR
NAMES
gtkgl/gtkglarea.h
PATHS
${_GLIB2IncDir}
/usr/include
/usr/local/include
/usr/openwin/share/include
/opt/gnome/include
/opt/include
/sw/include
)
gtk2_debug_message("GTK2_GTKGL_INCLUDE_DIR is ${GTK2_GTKGL_INCLUDE_DIR}")
pkgconfig(libglade-2.0 _GLADEIncDir _GLADELinkDir _GLADELinkFlags _GLADECflags)
find_path(GTK2_GLADE_INCLUDE_DIR
NAMES
glade/glade.h
PATHS
${_GLADEIncDir}
/opt/gnome/include/libglade-2.0
/usr/include/libglade-2.0
/opt/include/libglade-2.0
/sw/include/libglade-2.0
)
gtk2_debug_message("GTK2_GLADE_INCLUDE_DIR is ${GTK2_GLADE_INCLUDE_DIR}")
pkgconfig(pango _PANGOIncDir _PANGOLinkDir _PANGOLinkFlags _PANGOCflags)
find_path(GTK2_PANGO_INCLUDE_DIR
NAMES
pango/pango.h
PATHS
${_PANGOIncDir}
/usr/include/pango-1.0
/opt/gnome/include/pango-1.0
/opt/include/pango-1.0
/sw/include/pango-1.0
)
gtk2_debug_message("GTK2_PANGO_INCLUDE_DIR is ${GTK2_PANGO_INCLUDE_DIR}")
pkgconfig(cairo _CAIROIncDir _CAIROLinkDir _CAIROLinkFlags _CAIROCflags)
find_path(GTK2_CAIRO_INCLUDE_DIR
NAMES
cairo.h
PATHS
${_CAIROIncDir}
/opt/gnome/include/cairo
/usr/include
/usr/include/cairo
/opt/include
/opt/include/cairo
/sw/include
/sw/include/cairo
)
gtk2_debug_message("GTK2_CAIRO_INCLUDE_DIR is ${GTK2_CAIRO_INCLUDE_DIR}")
pkgconfig(atk _ATKIncDir _ATKLinkDir _ATKLinkFlags _ATKCflags)
find_path(GTK2_ATK_INCLUDE_DIR
NAMES
atk/atk.h
PATHS
${_ATKIncDir}
/opt/gnome/include/atk-1.0
/usr/include/atk-1.0
/opt/include/atk-1.0
/sw/include/atk-1.0
)
gtk2_debug_message("GTK2_ATK_INCLUDE_DIR is ${GTK2_ATK_INCLUDE_DIR}")
find_library(GTK2_GTK_LIBRARY
NAMES
gtk-x11-2.0
PATHS
${_GTK2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GTK_LIBRARY is ${GTK2_GTK_LIBRARY}")
find_library(GTK2_GDK_LIBRARY
NAMES
gdk-x11-2.0
PATHS
${_GDK2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GDK_LIBRARY is ${GTK2_GDK_LIBRARY}")
find_library(GTK2_GDK_PIXBUF_LIBRARY
NAMES
gdk_pixbuf-2.0
PATHS
${_GDK2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GDK_PIXBUF_LIBRARY is ${GTK2_GDK_PIXBUF_LIBRARY}")
find_library(GTK2_GMODULE_LIBRARY
NAMES
gmodule-2.0
PATHS
${_GMODULE2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GMODULE_LIBRARY is ${GTK2_GMODULE_LIBRARY}")
find_library(GTK2_GTHREAD_LIBRARY
NAMES
gthread-2.0
PATHS
${_GTK2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GTHREAD_LIBRARY is ${GTK2_GTHREAD_LIBRARY}")
find_library(GTK2_GOBJECT_LIBRARY
NAMES
gobject-2.0
PATHS
${_GTK2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GOBJECT_LIBRARY is ${GTK2_GOBJECT_LIBRARY}")
find_library(GTK2_GLIB_LIBRARY
NAMES
glib-2.0
PATHS
${_GLIB2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GLIB_LIBRARY is ${GTK2_GLIB_LIBRARY}")
find_library(GTK2_GTKGL_LIBRARY
NAMES
gtkgl
PATHS
${_GTK2LinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GTKGL_LIBRARY is ${GTK2_GTKGL_LIBRARY}")
find_library(GTK2_GLADE_LIBRARY
NAMES
glade-2.0
PATHS
${_GLADELinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_GLADE_LIBRARY is ${GTK2_GLADE_LIBRARY}")
find_library(GTK2_PANGO_LIBRARY
NAMES
pango-1.0
PATHS
${_PANGOLinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_PANGO_LIBRARY}")
find_library(GTK2_CAIRO_LIBRARY
NAMES
pangocairo-1.0
PATHS
${_CAIROLinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_CAIRO_LIBRARY}")
find_library(GTK2_ATK_LIBRARY
NAMES
atk-1.0
PATHS
${_ATKinkDir}
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
/opt/gnome/lib
/opt/lib
/sw/lib
)
gtk2_debug_message("GTK2_ATK_LIBRARY is ${GTK2_ATK_LIBRARY}")
set(GTK2_INCLUDE_DIRS
${GTK2_GTK_INCLUDE_DIR}
${GTK2_GLIBCONFIG_INCLUDE_DIR}
${GTK2_GLIB_INCLUDE_DIR}
${GTK2_GDK_INCLUDE_DIR}
${GTK2_GLADE_INCLUDE_DIR}
${GTK2_PANGO_INCLUDE_DIR}
${GTK2_CAIRO_INCLUDE_DIR}
${GTK2_ATK_INCLUDE_DIR}
)
if (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
if (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
if (GTK2_GMODULE_LIBRARY)
if (GTK2_GTHREAD_LIBRARY)
if (GTK2_GOBJECT_LIBRARY)
if (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
if (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
if (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
if (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
# set GTK2 libraries
set (GTK2_LIBRARIES
${GTK2_GTK_LIBRARY}
${GTK2_GDK_LIBRARY}
${GTK2_GDK_PIXBUF_LIBRARY}
${GTK2_GMODULE_LIBRARY}
${GTK2_GTHREAD_LIBRARY}
${GTK2_GOBJECT_LIBRARY}
${GTK2_GLADE_LIBRARY}
${GTK2_PANGO_LIBRARY}
${GTK2_CAIRO_LIBRARY}
${GTK2_ATK_LIBRARY}
)
# check for gtkgl support
if (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
set(GTK2_GTKGL_FOUND TRUE)
set(GTK2_INCLUDE_DIRS
${GTK2_INCLUDE_DIR}
${GTK2_GTKGL_INCLUDE_DIR}
)
set(GTK2_LIBRARIES
${GTK2_LIBRARIES}
${GTK2_GTKGL_LIBRARY}
)
endif (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
else (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
message(SEND_ERROR "Could not find ATK")
endif (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
else (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
message(SEND_ERROR "Could not find CAIRO")
endif (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
else (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
message(SEND_ERROR "Could not find PANGO")
endif (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
else (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
message(SEND_ERROR "Could not find GLADE")
endif (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
else (GTK2_GOBJECT_LIBRARY)
message(SEND_ERROR "Could not find GOBJECT")
endif (GTK2_GOBJECT_LIBRARY)
else (GTK2_GTHREAD_LIBRARY)
message(SEND_ERROR "Could not find GTHREAD")
endif (GTK2_GTHREAD_LIBRARY)
else (GTK2_GMODULE_LIBRARY)
message(SEND_ERROR "Could not find GMODULE")
endif (GTK2_GMODULE_LIBRARY)
else (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
message(SEND_ERROR "Could not find GDK (GDK_PIXBUF)")
endif (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
else (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
message(SEND_ERROR "Could not find GTK2-X11")
endif (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
if (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
set(GTK2_FOUND TRUE)
endif (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
if (GTK2_FOUND)
if (NOT GTK2_FIND_QUIETLY)
message(STATUS "Found GTK2: ${GTK2_LIBRARIES}")
endif (NOT GTK2_FIND_QUIETLY)
else (GTK2_FOUND)
if (GTK2_FIND_REQUIRED)
message(FATAL_ERROR "Could not find GTK2")
endif (GTK2_FIND_REQUIRED)
endif (GTK2_FOUND)
# show the GTK2_INCLUDE_DIRS and GTK2_LIBRARIES variables only in the advanced view
mark_as_advanced(GTK2_INCLUDE_DIRS GTK2_LIBRARIES)
endif (UNIX)
endif (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)

View file

@ -11,8 +11,9 @@
# Modified from CMake 2.6.5 gcc.cmake
# See http://www.cmake.org/HTML/Copyright.html for details
#
MESSAGE( "**** Debug Info: Enter Linux-dmd.cmake" )
SET(DSTDLIB_FLAGS "-version=Phobos")
#SET(DSTDLIB_FLAGS "-version=Phobos")
IF(CMAKE_D_BUILD_DOCS)
SET(DDOC_FLAGS "-D -Dddocumentation")
#FOREACH(item ${CMAKE_D_DDOC_FILES})
@ -20,16 +21,20 @@ IF(CMAKE_D_BUILD_DOCS)
#ENDFOREACH(item)
ENDIF(CMAKE_D_BUILD_DOCS)
SET(CMAKE_SHARED_LIBRARY_D_FLAGS "") # -pic
SET(CMAKE_D_OUTPUT_EXTENSION .o)
SET(CMAKE_D_DASH_O "-of")
SET(CMAKE_BASE_NAME dmd)
SET(CMAKE_SHARED_LIBRARY_D_FLAGS "") # -pic
SET(CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS "-shared") # -shared
SET(CMAKE_SHARED_LIBRARY_LINK_D_FLAGS "") # +s, flag for exe link to use shared lib
SET(CMAKE_SHARED_LIBRARY_RUNTIME_D_FLAG "") # -rpath
SET(CMAKE_SHARED_LIBRARY_RUNTIME_D_FLAG_SEP "") # : or empty
SET(CMAKE_INCLUDE_FLAG_D "-I") # -I
SET(CMAKE_INCLUDE_FLAG_D_SEP "") # , or empty
SET(CMAKE_LIBRARY_PATH_FLAG "-L")
SET(CMAKE_LIBRARY_PATH_FLAG "-L-L")
SET(CMAKE_LIBRARY_PATH_TERMINATOR "") # for the Digital Mars D compiler the link paths have to be terminated with a "/"
SET(CMAKE_LINK_LIBRARY_FLAG "-l")
SET(CMAKE_LINK_LIBRARY_FLAG "-L-l")
SET(CMAKE_LINK_LIBRARY_SUFFIX "")
SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
@ -42,7 +47,7 @@ SET(CMAKE_DL_LIBS "dl")
SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
SET(CMAKE_D_STDLIBS "-lphobos2 -lpthread -lm" )
SET(CMAKE_D_STDLIBS "-L-lphobos2 -L-lpthread -L-lm" )
#SET (CMAKE_D_FLAGS_INIT "-version=${CMAKE_BUILD_TYPE}Build ${DSTDLIB_FLAGS} ${DSTDLIB_TYPE} -I$ENV{D_PATH}/include -I$ENV{D_PATH}/import -I${CMAKE_PROJECT_SOURCE_DIR}")
SET (CMAKE_D_FLAGS_INIT "")
@ -51,7 +56,9 @@ SET (CMAKE_D_LINK_FLAGS "")
SET (CMAKE_D_FLAGS_DEBUG_INIT "-g -debug -L--export-dynamic ${DDOC_FLAGS}")
# SET (CMAKE_D_FLAGS_MINSIZEREL_INIT "-Os ${DDOC_FLAGS}")
SET (CMAKE_D_FLAGS_RELEASE_INIT "-O -release -inline ${DDOC_FLAGS}")
SET (CMAKE_D_FLAGS_RELWITHDEBINFO_INIT "-O -g ${DDOC_FLAGS}")
SET (CMAKE_D_FLAGS_RELWITHDEBINFO_INIT "-O -g -L--export-dynamic ${DDOC_FLAGS}")
# SET (CMAKE_D_CREATE_PREPROCESSED_SOURCE "<CMAKE_D_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
SET (CMAKE_D_CREATE_ASSEMBLY_SOURCE "<CMAKE_D_COMPILER> <FLAGS> -S <SOURCE> -of<ASSEMBLY_SOURCE>")
# SET (CMAKE_INCLUDE_SYSTEM_FLAG_D "-isystem ")
MESSAGE( "**** Debug Info: Exit Linux-dmd.cmake" )

View file

@ -12,6 +12,9 @@
# See http://www.cmake.org/HTML/Copyright.html for details
#
SET(CMAKE_D_DASH_O "-o")
SET(CMAKE_BASE_NAME gdc)
IF(CMAKE_D_USE_TANGO)
SET(DSTDLIB_FLAGS "-fversion=Tango")
ENDIF(CMAKE_D_USE_TANGO)

View file

@ -11,6 +11,8 @@
# Modified from CMake 2.6.5 gcc.cmake
# See http://www.cmake.org/HTML/Copyright.html for details
#
SET(CMAKE_D_OUTPUT_EXTENSION .obj)
IF(CMAKE_D_USE_TANGO)
SET(DSTDLIB_FLAGS "-version=Tango")