# Tell cmake our project only concerns the D language.
cmake_minimum_required(VERSION 2.8.1)

# We must explicitly indicate we're using the D language
# in the project declaration.  Listing other languages
# is fine.
PROJECT (CMAKED2_TESTS C D )
SET( GLOBAL_DMD_DEFS "-w -wi" )
SET( GLOBAL_GCC_DEFS "-Wall -pedantic" )

# Don't use ADD_DEFINITIONS() with a mixed C + D project
# since that adds the same flags to both C and D builds.
# Also, the D linker preference is set to 40, which is
# higher than C++ (30) and C (10).  This causes CMAKE
# to use the D linker in mixed linking cases.
# Append our own definitions to the defaults.
SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GLOBAL_GCC_DEFS}" )
SET( CMAKE_D_FLAGS "${CMAKE_D_FLAGS} ${GLOBAL_DMD_DEFS}" )

enable_testing()

# build libs first, then apps
ADD_SUBDIRECTORY (lib_1)
ADD_SUBDIRECTORY (lib_2)
ADD_SUBDIRECTORY (app_1)
ADD_SUBDIRECTORY (app_2)
ADD_SUBDIRECTORY (app_3)
ADD_SUBDIRECTORY (app_5)
ADD_SUBDIRECTORY (app_4)
ADD_SUBDIRECTORY (app_6)
ADD_SUBDIRECTORY (app_7)

# Tell cmake our project only concerns the D language.
cmake_minimum_required(VERSION 2.8.1)

# We must explicitly indicate we're using the D language
# in the project declaration.  Listing other languages
# is fine.
PROJECT (CMAKED2_TESTS C D )
SET( GLOBAL_DMD_DEFS "-w -wi" )
SET( GLOBAL_GCC_DEFS "-Wall -pedantic -m32" )

# Don't use ADD_DEFINITIONS() with a mixed C + D project
# since that adds the same flags to both C and D builds.
# Also, the D linker preference is set to 40, which is
# higher than C++ (30) and C (10).  This causes CMAKE
# to use the D linker in mixed linking cases.
# Append our own definitions to the defaults.
SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GLOBAL_GCC_DEFS}" )
SET( CMAKE_D_FLAGS "${CMAKE_D_FLAGS} ${GLOBAL_DMD_DEFS}" )

enable_testing()

# build libs first, then apps
ADD_SUBDIRECTORY (lib_1)
ADD_SUBDIRECTORY (lib_2)
ADD_SUBDIRECTORY (app_1)
ADD_SUBDIRECTORY (app_2)
ADD_SUBDIRECTORY (app_3)
ADD_SUBDIRECTORY (app_5)
ADD_SUBDIRECTORY (app_4)
ADD_SUBDIRECTORY (app_6)
ADD_SUBDIRECTORY (app_7)

Add '-m32' to properly link app_4 and app_5 on 64bit
Add '-m32' to properly link app_4 and app_5 on 64bit
