1

I'm trying to setup FLTK to build on windows with CMake with the Windows SDK.
So far here's what I've accomplished so far:

> svn co http://svn.easysw.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
> cmake CMakeLists.txt -DOPTION_BUILD_EXAMPLES=NO -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:\dev\fltk-1.3
> nmake
> nmake install

No errors so far.

Then I created a test.cpp file with a hello world example I got off the documentation.
Here's my CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)
project(Test)

find_package(FLTK REQUIRED NO_MODULE)
include(${FLTK_USE_FILE})

add_executable(test WIN32 test.cpp)

target_link_libraries(test fltk)

When I run cmake CMakeLists.txt I get an error asking me to set FLTK_DIR, so here's what I've got so far:

> cmake CMakeLists.txt
(error about FLTK_DIR)
> cmake CMakeLists.txt -DFLTK_DIR=C:\dev\fltk-1.3\CMake
> nmake

The last nmake command gives me this output:

[100%] Building CXX object CMakeFiles/test.dir/Test.cpp.obj
Test.cpp
Linking CXX executable test.exe
LINK : fatal error LNK1104: cannot open file ';.obj'
LINK Pass 1 failed. with 2
NMAKE : fatal error U1077: 'C:\dev\cmake-2.8.7-win32-x86\bin\cmake.exe' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\nmake.exe"' : return code '0x2'
Stop.

I tried letting FLTK install itself to the default location, which didn't make any difference.

So, can anyone help me get this working?

Josh
  • 6,046
  • 11
  • 52
  • 83

2 Answers2

1

Site manager for FLTK here.

I don't have enough rep to add a comment to the OP. The http://easysw.com/ url in the OP's message is no longer valid.

For up to date download for FLTK source code, please refer to http://fltk.org/ Just click on the "Download" link. There you will find up to date source code downloads for tar files and SVN access info.

erco
  • 272
  • 1
  • 8
1

After hours of working on this I finally figured it out.

I had to comment out these 3 lines in FLTKConfig.cmake

if(NOT " /STACK:10000000 /machine:X86 " STREQUAL "")
   set(FLTK_EXE_LINKER_FLAGS " /STACK:10000000 /machine:X86 ")
endif(NOT " /STACK:10000000 /machine:X86 " STREQUAL "")

They were causing it to add an ';' character into the command line for link.exe,
causing it to try to link with ;.obj.

I also had to rebuild FLTK, and change all occurences of "/MD" to "/MT" in CMakeCache.txt.

Josh
  • 6,046
  • 11
  • 52
  • 83