Never mind, I'm having too many troubles using D (gtkD being only one of them), so I'll be converting my project to c++ before I get too far in the development.

I'd just like to share the cmake file I wrote to compile gtkD. I can't say it's perfect but it works for me, I hope it will be useful for somebody else as well.

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../cmake/Modules/cmake-d" "${CMAKE_MODULE_PATH}")
project (GtkD C D)

## sanity check: sometimes CMAKE_SIZEOF_VOID_P just vanishes (when updating CMake).
if (NOT CMAKE_SIZEOF_VOID_P)
    message(FATAL_ERROR "'CMAKE_SIZEOF_VOID_P' is undefined. Thus you should delete CMakeFiles (the directory) and the CMakeCache.txt and rerun CMake again! This is some weird CMake bug that seems to appear when updating the CMake version.")
else()
    math(EXPR BITS "8*${CMAKE_SIZEOF_VOID_P}")
endif()

set(CMAKE_D_FLAGS_DEBUG "${CMAKE_D_FLAGS_DEBUG}")
set(CMAKE_D_FLAGS_RELEASE "${CMAKE_D_FLAGS_RELEASE}")

if("${CMAKE_D_COMPILER_ID}" STREQUAL "gdc")
    set(CMAKE_D_FLAGS_DEBUG "${CMAKE_D_FLAGS_DEBUG} -O0 -g")
    set(CMAKE_D_FLAGS_RELEASE "${CMAKE_D_FLAGS_RELEASE} -O2")
else()
    set(CMAKE_D_FLAGS_RELEASE "${CMAKE_D_FLAGS_RELEASE} -O")
endif()

if ("${CMAKE_D_COMPILER_ID}" STREQUAL "LDC")
    add_definitions(-relocation-model=pic)
else()
    add_definitions(-fPIC)
endif()

set(MAJOR "2")
set(MINOR "4")
set(BUGFIX "1")
set(GTKD_VERSION "${MAJOR}.${MINOR}.${BUGFIX}")
set(SO_VERSION "0")

# From http://francesco-cek.com/cmake-and-gtk-3-the-easy-way/
# Use the package PkgConfig to detect GTK+ headers/library files
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
# Setup CMake to use GTK+, tell the compiler where to look for headers
# and to the linker where to look for libraries
link_directories(${GTK3_LIBRARY_DIRS})
# Add other flags to the compiler
if ("${CMAKE_D_COMPILER_ID}" STREQUAL "gdc")
    add_definitions(${GTK3_CFLAGS_OTHER})
endif()

include_directories(
    GtkD/src
)

set(LIBNAME_GTKD "gtkd-${MAJOR}")
file(GLOB_RECURSE SOURCES_GTKD "GtkD/src/*.d")
set(LIBNAME_GTKDGL "gtkdgl-${MAJOR}")
file(GLOB_RECURSE SOURCES_GTKDGL "GtkD/srcgl/*.d")
set(LIBNAME_GTKDSV "gtkdsv-${MAJOR}")
file(GLOB_RECURSE SOURCES_GTKDSV "GtkD/srcsv/*.d")
set(LIBNAME_GTKDGDA "gtkdgda-${MAJOR}")
file(GLOB_RECURSE SOURCES_GTKDGDA "GtkD/srcgda/*.d")
set(LIBNAME_GSTREAMERD "gstreamerd-${MAJOR}")
file(GLOB_RECURSE SOURCES_GSTREAMERD "GtkD/srcgstreamer/*.d")
set(LIBNAME_VTED "vted-${MAJOR}")
file(GLOB_RECURSE SOURCES_VTED "GtkD/srcvte/*.d")

add_library(${LIBNAME_GTKD} ${SOURCES_GTKD})
add_library(${LIBNAME_GTKDGL} ${SOURCES_GTKDGL})
add_library(${LIBNAME_GTKDSV} ${SOURCES_GTKDSV})
add_library(${LIBNAME_GTKDGDA} ${SOURCES_GTKDGDA})
add_library(${LIBNAME_GSTREAMERD} ${SOURCES_GSTREAMERD})
add_library(${LIBNAME_VTED} ${SOURCES_VTED})

SET_TARGET_PROPERTIES(${LIBNAME_GTKD} PROPERTIES LINK_FLAGS -m${BITS})
SET_TARGET_PROPERTIES(${LIBNAME_GTKDGL} PROPERTIES LINK_FLAGS -m${BITS})
SET_TARGET_PROPERTIES(${LIBNAME_GTKDSV} PROPERTIES LINK_FLAGS -m${BITS})
SET_TARGET_PROPERTIES(${LIBNAME_GTKDGDA} PROPERTIES LINK_FLAGS -m${BITS})
SET_TARGET_PROPERTIES(${LIBNAME_GSTREAMERD} PROPERTIES LINK_FLAGS -m${BITS})
SET_TARGET_PROPERTIES(${LIBNAME_VTED} PROPERTIES LINK_FLAGS -m${BITS})
add_definitions(-m${BITS})

SET_TARGET_PROPERTIES(${LIBNAME_GTKDGL} PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/GtkD/srcgl")
SET_TARGET_PROPERTIES(${LIBNAME_GTKDSV} PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/GtkD/srcsv")
SET_TARGET_PROPERTIES(${LIBNAME_GTKDGDA} PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/GtkD/srcgda")
SET_TARGET_PROPERTIES(${LIBNAME_GSTREAMERD} PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/GtkD/srcgstreamer")
SET_TARGET_PROPERTIES(${LIBNAME_VTED} PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/GtkD/srcvte")

target_link_libraries(${LIBNAME_GTKD} dl ${GTK3_LIBRARIES})
target_link_libraries(${LIBNAME_GTKDGL} dl ${GTK3_LIBRARIES})
target_link_libraries(${LIBNAME_GTKDSV} dl ${GTK3_LIBRARIES})
target_link_libraries(${LIBNAME_GTKDGDA} dl ${GTK3_LIBRARIES})
target_link_libraries(${LIBNAME_GSTREAMERD} dl ${GTK3_LIBRARIES})
target_link_libraries(${LIBNAME_VTED} dl ${GTK3_LIBRARIES})

Note that the "C" in the project statement is required to work around a bug in cmake-d. Without it, CMAKESIZEOFVOID_P would be undefined.
You might need to tweak some paths, some version numbers, but in general it should do its job.