Browse Source

Fix ObjectLibrary test on Watcom

The Watcom compiler interprets "-DB" as option

 -db generate browsing information

so define "A_DEF" and "B_DEF" instead of just "A" and "B".

Skip CMAKE_SHARED_LIBRARY_C_FLAGS for Watcom because it is set to

 -bd  build Dynamic link library

which adds a DLL entry point to each object.
Brad King 14 years ago
parent
commit
fb7348f644

+ 2 - 2
Tests/ObjectLibrary/A/CMakeLists.txt

@@ -1,10 +1,10 @@
 # Add -fPIC so objects can be used in shared libraries.
 # TODO: Need property for this.
-if(CMAKE_SHARED_LIBRARY_C_FLAGS)
+if(CMAKE_SHARED_LIBRARY_C_FLAGS AND NOT WATCOM)
   set(CMAKE_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS} ${CMAKE_C_FLAGS}")
 endif()
 
-add_definitions(-DA)
+add_definitions(-DA_DEF)
 
 add_custom_command(
   OUTPUT a1.c

+ 4 - 4
Tests/ObjectLibrary/A/a.h

@@ -1,6 +1,6 @@
-#ifndef A
-# error "A not defined"
+#ifndef A_DEF
+# error "A_DEF not defined"
 #endif
-#ifdef B
-# error "B must not be defined"
+#ifdef B_DEF
+# error "B_DEF must not be defined"
 #endif

+ 2 - 2
Tests/ObjectLibrary/B/CMakeLists.txt

@@ -5,11 +5,11 @@ endif()
 
 # Add -fPIC so objects can be used in shared libraries.
 # TODO: Need property for this.
-if(CMAKE_SHARED_LIBRARY_C_FLAGS)
+if(CMAKE_SHARED_LIBRARY_C_FLAGS AND NOT WATCOM)
   set(CMAKE_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS} ${CMAKE_C_FLAGS}")
 endif()
 
-add_definitions(-DB)
+add_definitions(-DB_DEF)
 add_library(B OBJECT b1.c b2.c)
 add_library(Bexport OBJECT b1${vs6}.c b2${vs6}.c)
 set_property(TARGET Bexport PROPERTY COMPILE_DEFINITIONS Bexport)

+ 4 - 4
Tests/ObjectLibrary/B/b.h

@@ -1,8 +1,8 @@
-#ifdef A
-# error "A must not be defined"
+#ifdef A_DEF
+# error "A_DEF must not be defined"
 #endif
-#ifndef B
-# error "B not defined"
+#ifndef B_DEF
+# error "B_DEF not defined"
 #endif
 #if defined(_WIN32) && defined(Bexport)
 # define EXPORT_B __declspec(dllexport)