Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1ZWmcE-00089E-Kn for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Sep 2015 14:32:50 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1ZWmcD-0007sS-Og for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Sep 2015 14:32:49 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84) (envelope-from ) id 1ZWmcB-0007qv-Oh for pgsql-hackers@postgresql.org; Tue, 01 Sep 2015 14:32:48 +0000 Received: from mail-pa0-x229.google.com ([2607:f8b0:400e:c03::229]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84) (envelope-from ) id 1ZWmc8-0004g6-OE for pgsql-hackers@postgresql.org; Tue, 01 Sep 2015 14:32:45 +0000 Received: by pabzx8 with SMTP id zx8so178920509pab.1 for ; Tue, 01 Sep 2015 07:32:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leadboat.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=3DbGbDi3yd1GIl5Vr0YPllAFzqXyOuiz5ft+fRKWohM=; b=eKDGt/zV/sMlaC66RNFScYIXtQyH9eNFx4Fu09CC+DsYqKy0C2ko0Gn8TA3Rv3PFOj +6lDpkd2u2qoxdYbYtB/iRuTc8T24cr+Wj0Zcpf+uPeejPog2/yH/Qdhhpaw9tu4NgjD W8OExW/VLmBHkhg3a9o21YbHoodXeT/OfjVeU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=3DbGbDi3yd1GIl5Vr0YPllAFzqXyOuiz5ft+fRKWohM=; b=LKRdE2NxBhMOT4SM/IuvDMWM9oexao3kp5VMHatKFdWmlt6T/Omis6lahamQa6hw4A Nf5nf8YW3wUENwbhh0tQulmfRnMVt5SCca59W6ToEKkTA3T/oQGP6qP9eyYblR4/t6NL 9j8t+0c1r9K3ztN8OO7RIsi44ciEqZT1EtXeu6/9tB6Bm7qa0i1XbvowYmbCagJ2ydve 6THmE86Fqzh7qJF0f4RM8xWYciCI0xJFv0iUgAWCU45wosKJFUbKvEUxt81UYyLDwYRf GSwICnB5IbXvezhz+Ld6lFt1slZ0oU2cnjGbqv4ZWVdH/915V+499sQ9c4VIB7hhgQXU Yh4A== X-Gm-Message-State: ALoCoQnDsJFSYzifF1/heghzIyr46rFDLxRErnMcW9ccMnLeJxe3C3Bg73EALId08OX3uyNaCuIz X-Received: by 10.66.252.72 with SMTP id zq8mr46944549pac.7.1441117962795; Tue, 01 Sep 2015 07:32:42 -0700 (PDT) Received: from tornado.leadboat.com (c-98-248-47-228.hsd1.ca.comcast.net. [98.248.47.228]) by smtp.gmail.com with ESMTPSA id qv3sm18369561pbb.78.2015.09.01.07.32.41 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 01 Sep 2015 07:32:41 -0700 (PDT) Date: Tue, 1 Sep 2015 10:32:39 -0400 From: Noah Misch To: Tom Lane Cc: Alvaro Herrera , Andres Freund , YUriy Zhuravlev , pgsql-hackers@postgresql.org Subject: Re: WIP: About CMake v2 Message-ID: <20150901143239.GC2904258@tornado.leadboat.com> References: <4184974.kkvGJ5GoEX@dinodell> <20150828153245.GD2912@alvherre.pgsql> <20150828153926.GG4857@alap3.anarazel.de> <20150828162849.GE2912@alvherre.pgsql> <20150901043331.GA2904638@tornado.leadboat.com> <24796.1441082995@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <24796.1441082995@sss.pgh.pa.us> User-Agent: Mutt/1.5.23 (2014-03-12) X-Pg-Spam-Score: -2.7 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On Tue, Sep 01, 2015 at 12:49:55AM -0400, Tom Lane wrote: > Noah Misch writes: > > On Fri, Aug 28, 2015 at 01:28:49PM -0300, Alvaro Herrera wrote: > >> If it allows us to get rid of our custom MSVC scripts, it's a huge > >> benefit, for sure -- that has been a huge pain in the neck since day > >> one. > > > Moreover, I suggest beginning with a patch that replaces the src/tools/msvc > > build system with CMake. One can test almost all Windows configurations using > > two machines, so author and reviewer can test most everything. src/tools/msvc > > has more defects than the GNU make build system, so the minimum-quality > > acceptable replacement is easier to deliver. With CMake driving all MSVC > > builds, it would be much easier to gradually extend to other platforms. > > mmm ... dunno about that plan. In the first place, you seem to be > recommending that YUriy incorporate all the deficiencies of src/tools/msvc > into his first draft and then hope somehow to fix them later. No, src/tools/msvc is a poor source of implementation ideas. Implement the CMake build in idiomatic CMake style. Write an initial patch sufficient so we could delete src/tools/msvc in the same patch, and make little or no attempt to cover other cases. That's my suggestion. > In the > second place, I think that the core problem here involves being sure > we can still cover all the portability issues that have been laboriously > hacked into the autoconf/gmake build system over nigh two decades. I agree that the first patch should demonstrate the CMake programming environment's sufficiency for open-ended portability adaptations. I doubt demonstrating that requires actual porting to more than a platform or two. > Starting from a build system that was designed to cover exactly one target > platform, and has never been asked to do anything more than that, doesn't > sound like a recipe for success there. Fair point. Perhaps replace src/tools/msvc completely and build+install on at least one reasonable GNU/Linux configuration? A monolithic patch replacing the GNU make build system with a CMake build system sounds far too hard to write and review; we should expect to maintain those two build systems in parallel for awhile. Reconciling the MSVC and GNU make build systems is a chronic problem today, so it would be a big plus to have no more than two of MSVC, GNU Make and CMake build systems to maintain. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers