DMD works on GNU/Linux, samples updated
This commit is contained in:
parent
1ebea84622
commit
fe7bf93206
4 changed files with 33 additions and 33 deletions
|
@ -107,16 +107,11 @@ IF(CMAKE_COMPILER_IS_GDC)
|
||||||
SET(CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS "-shared")
|
SET(CMAKE_SHARED_LIBRARY_CREATE_D_FLAGS "-shared")
|
||||||
ELSE(CMAKE_COMPILER_IS_GDC)
|
ELSE(CMAKE_COMPILER_IS_GDC)
|
||||||
SET(CMAKE_OUTPUT_D_FLAG "-of")
|
SET(CMAKE_OUTPUT_D_FLAG "-of")
|
||||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||||
# not a good way but works because dmd using gcc
|
|
||||||
# for linker on Linux
|
|
||||||
SET(CMAKE_LINK_LIBRARY_FLAG "-L-l")
|
|
||||||
SET(CMAKE_LIBRARY_PATH_FLAG "-L-L")
|
|
||||||
ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
|
||||||
# dmd part doesn't work for now
|
|
||||||
SET(CMAKE_LINK_LIBRARY_FLAG "-L+")
|
SET(CMAKE_LINK_LIBRARY_FLAG "-L+")
|
||||||
SET(CMAKE_LIBRARY_PATH_FLAG "-I")
|
SET(CMAKE_LIBRARY_PATH_FLAG "-I")
|
||||||
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
FIND_PROGRAM(DMD_LIBRARIAN "lib.exe")
|
||||||
|
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||||
ENDIF(CMAKE_COMPILER_IS_GDC)
|
ENDIF(CMAKE_COMPILER_IS_GDC)
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,9 +128,20 @@ ENDIF(NOT CMAKE_D_CREATE_SHARED_MODULE)
|
||||||
|
|
||||||
# create a D static library
|
# create a D static library
|
||||||
IF(NOT CMAKE_D_CREATE_STATIC_LIBRARY)
|
IF(NOT CMAKE_D_CREATE_STATIC_LIBRARY)
|
||||||
|
IF(CMAKE_COMPILER_IS_GDC)
|
||||||
SET(CMAKE_D_CREATE_STATIC_LIBRARY
|
SET(CMAKE_D_CREATE_STATIC_LIBRARY
|
||||||
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
|
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
|
||||||
"<CMAKE_RANLIB> <TARGET> ")
|
"<CMAKE_RANLIB> <TARGET> ")
|
||||||
|
ELSE(CMAKE_COMPILER_IS_GDC)
|
||||||
|
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
SET(CMAKE_D_CREATE_STATIC_LIBRARY
|
||||||
|
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
|
||||||
|
"<CMAKE_RANLIB> <TARGET> ")
|
||||||
|
ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
SET(CMAKE_D_CREATE_STATIC_LIBRARY
|
||||||
|
"${DMD_LIBRARIAN} -c -p256 <TARGET> <OBJECTS>")
|
||||||
|
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
ENDIF(CMAKE_COMPILER_IS_GDC)
|
||||||
ENDIF(NOT CMAKE_D_CREATE_STATIC_LIBRARY)
|
ENDIF(NOT CMAKE_D_CREATE_STATIC_LIBRARY)
|
||||||
|
|
||||||
# compile a D file into an object file
|
# compile a D file into an object file
|
||||||
|
@ -145,8 +151,13 @@ IF(NOT CMAKE_D_COMPILE_OBJECT)
|
||||||
ENDIF(NOT CMAKE_D_COMPILE_OBJECT)
|
ENDIF(NOT CMAKE_D_COMPILE_OBJECT)
|
||||||
|
|
||||||
IF(NOT CMAKE_D_LINK_EXECUTABLE)
|
IF(NOT CMAKE_D_LINK_EXECUTABLE)
|
||||||
|
IF(CMAKE_COMPILER_IS_GDC)
|
||||||
SET(CMAKE_D_LINK_EXECUTABLE
|
SET(CMAKE_D_LINK_EXECUTABLE
|
||||||
"<CMAKE_D_COMPILER> <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> ${CMAKE_OUTPUT_D_FLAG}<TARGET> <LINK_LIBRARIES>")
|
"<CMAKE_D_COMPILER> <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> ${CMAKE_OUTPUT_D_FLAG}<TARGET> <LINK_LIBRARIES>")
|
||||||
|
ELSE(CMAKE_COMPILER_IS_GDC)
|
||||||
|
SET(CMAKE_D_LINK_EXECUTABLE
|
||||||
|
"gcc <FLAGS> <CMAKE_D_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -lphobos -lpthread -lm")
|
||||||
|
ENDIF(CMAKE_COMPILER_IS_GDC)
|
||||||
ENDIF(NOT CMAKE_D_LINK_EXECUTABLE)
|
ENDIF(NOT CMAKE_D_LINK_EXECUTABLE)
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
|
|
|
@ -3,15 +3,8 @@ import Hello.hello;
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
version (GNU)
|
|
||||||
{
|
|
||||||
Hail hello = new Hail();
|
Hail hello = new Hail();
|
||||||
hello.Print();
|
hello.Print();
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Print();
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,21 +2,13 @@ module Hello.hello;
|
||||||
|
|
||||||
import std.stdio;
|
import std.stdio;
|
||||||
|
|
||||||
version (GNU)
|
class Hail
|
||||||
{
|
|
||||||
class Hail
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
void Print()
|
|
||||||
{
|
|
||||||
writefln ("Hello, World!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
void Print()
|
void Print()
|
||||||
{
|
{
|
||||||
writefln ("Hello, World!");
|
writefln ("Hello, World!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,11 @@ IF (GTK2_FOUND)
|
||||||
minwin/dialog.d minwin/image.d minwin/paint.d
|
minwin/dialog.d minwin/image.d minwin/paint.d
|
||||||
minwin/event.d minwin/label.d minwin/peer.d )
|
minwin/event.d minwin/label.d minwin/peer.d )
|
||||||
|
|
||||||
|
IF(CMAKE_COMPILER_IS_GDC)
|
||||||
ADD_DEFINITIONS (-fversion=GTK ${GTK2_DEFINITIONS})
|
ADD_DEFINITIONS (-fversion=GTK ${GTK2_DEFINITIONS})
|
||||||
|
ELSE(CMAKE_COMPILER_IS_DMD)
|
||||||
|
ADD_DEFINITIONS (-version=GTK ${GTK2_DEFINITIONS})
|
||||||
|
ENDIF(CMAKE_COMPILER_IS_GDC)
|
||||||
|
|
||||||
ADD_LIBRARY (minwin_gtk ${SRCS})
|
ADD_LIBRARY (minwin_gtk ${SRCS})
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue